In a saucepan, melt 3 tablespoons butter. Whisk in flour and cook for 1 minute, until smooth. Add milk in all at once, whisking until mixture becomes thick. Stir in salt, pepper and nutmeg. Set aside.
Assemble the sandwich: Spread 2 tablespoons butter on slices of bread. Flip bread over and top with 2 tablespoons of the sauce. Sprinkle cheese over the sauce, followed by 3 slices of ham, then sprinkle more cheese. (It will be half a cup of cheese in total per sandwich.) Top with remaining slices of bread, butter side up.
In a cast-iron pan, place sandwiches butter side down. Grill for 2 minutes or until golden brown, flip and cook for another 2 minutes.
Turn off heat and top each sandwich with more sauce and remaining cheese. Place in the broiler to melt cheese.
Meanwhile, heat a nonstick skillet on medium heat. Crack egg and cook sunny side up until white is set.
Once cheese is melted, remove sandwich from broiler. Plate and top with egg. Serve with pickle.