Step 1In a medium, heavy-bottom saucepan, heat the milk over medium heat just until bubbles appear around the edge. Reduce the heat and keep the milk warm over very low heat.
Step 2Meanwhile, in a large, heavy-bottom saucepan, melt the butter over low heat. When it bubbles, whisk in the flour and continue to cook until the mixture forms a golden roux, 3 to 4 minutes.
Step 3Whisking constantly, add the warm milk in a steady stream. Bring the mixture to a gentle simmer and continue to whisk until the sauce thickens, about 10 minutes. Season to taste with one-half teaspoon salt and a few grinds of black pepper, along with the nutmeg, or to taste. Remove from heat and set aside until cooled. This makes about 2 cups sauce.
Step 1Heat the oven to 350 degrees.
Step 2Butter 6 slices of bread. Top each slice of bread with 2 slices of ham, then divide the bechamel sauce evenly between the sandwiches, spreading it over the ham. Top each of the sandwiches with a second slice of bread.
Step 3In a small bowl, toss together the diced Swiss cheese and the mozzarella. Season the mixture with one-fourth teaspoon salt and a few grinds of pepper, or to taste.
Step 4Divide the cheese mixture evenly between the sandwiches, mounding it on top of each sandwich.
Step 5Place the sandwiches on a baking sheet and bake until the cheese is melted, 5 to 8 minutes, depending on the oven. This may need to be done in more than 1 batch.
Step 6Top each sandwich with a fried egg and serve immediately.