Melt 2 tbsp butter in a small pot or pan over medium heat. Whisk in 2 tbsp flour, then very gradually pour in 1 cup milk, whisking as you go to avoid lumps. Stir in gruyere until melted, then stir in nutmeg, salt and white pepper. Remove from heat and place to one side.
Spread 4 slices of bread with butter, then flip over and spread with a thin layer of dijon mustard. Top 2 of the slices with a slice of Swiss cheese, then fold in 2-3 slices of ham. Top the ham with another slice of cheese, then add bread mustard-side-down (so both sandwiches are buttered on the outside).
Add both sandwiches to a large non-stick pan over low-medium heat. Fry until they turn deep golden on the bottom with the cheese just starting to melt in the centre, then flip and fry the other side until golden. Don't crank up the heat, you want the centre to cook.
Spread over the béchamel sauce (give it a quick stir over heat if you need to loosen it up) then sprinkle over parmesan. Place under the grill and broil on high until golden and bubbly. If your pan isn't suitable to place in the oven, place the sandwiches on a baking tray and then pop them under the grill.