In a large bowl, whisk together the eggs, milk, salt and pepper until well combined.
Lay out four slices of bread. On two of the slices, layer two slices of ham and two slices of Swiss cheese. Top each with the remaining bread slices, pressing down gently to create two sandwiches.
Place a large skillet over medium heat and add 1 Tbsp of butter, allow it melt and get hot.
Carefully dip each sandwich into the egg mixture, coating the entire sandwich. Let any excess egg drip off, then place the sandwiches into the hot skillet.
Cook on medium heat for 2-3 minutes on the first side, or until the bottom is golden brown, then carefully flip the sandwiches.
Reduce the heat to low, cover the skillet with a lid, and cook for another 2–3 minutes. (This allows the cheese to melt without burning the bread. Keep a close eye on them to avoid over-browning.)
Once the bread is golden and the cheese is melted, transfer the sandwiches to a serving plate. Lightly dust the sandwiches with powdered sugar, if desired.
Serve immediately, with desired sides and sauces.