In a saucepan melt butter. Add flour, stirring constantly until smooth, about 2 minutes. Slowly add milk, stirring continuously, and cook until the mixture thickens a little and is lightly golden.
Remove from heat and add mozzarella, nutmeg, salt and pepper.
Lightly and evenly butter bread slices, place them in a baking pan and put it in the oven for 3 minutes.
Remove from oven and place the ham slices and about 1/3 cup Gruyère cheese on 3 of the bread slices. Top each with one of remaining bread slices.
Spread sauce to cover the top of each sandwich (crusts, too). Sprinkle evenly with the remaining cheese.
Bake the sandwiches for about 5 minutes then place under lit broiler until cheese mixture on top is bubbling and lightly browned, about 3 minutes.
While the sandwiches are in the oven, fry the eggs.
Remove sandwiches from the oven and place eggs on top of them.