Preheat the oven to 400 degrees F.
Melt the butter over low heat in a small saucepan and add the flour all at once, stirring with a wooden spoon for 2 minutes. Slowly pour the hot milk into the butter–flour mixture and cook, whisking constantly, until the sauce is thickened. Off the heat add the salt, pepper, nutmeg, 1/2 cup grated Gruyere, and the Parmesan and set aside.
To toast the bread, place the slices on 2 baking sheets and bake for 5 minutes. Turn each slice and bake for another 2 minutes, until toasted.
Lightly brush half the toasted breads with mustard, add a slice of ham to each, and sprinkle with half the remaining Gruyere. Top with another piece of toasted bread. Slather the tops with the cheese sauce, sprinkle with the remaining Gruyere, and bake the sandwiches for 5 minutes. Turn on the broiler and broil for 3 to 5 minutes, or until the topping is bubbly and lightly browned. Serve hot.