In a heavy bottomed pot, melt the butter and add in the flour to create a roux. Cook for 1 Minute. Remove from the heat and slowly stir in the heavy cream until incorporated. Add in the milk, dijon mustard, and gruyere cheese then whisk in the eggs. Set aside.
In a 1.5 quart baking dish, or an au gratin pan, make a layer of the sliced potatoes so that they are all slightly overlapping and laying (mostly) flat against the bottom of the dish. Sprinkle ¼ cup of swiss cheese on top, then add a layer of the sliced ham in the same fashion as the potatoes. Top the ham with another ¼ cup of swiss cheese. Repeat for 3 layers.
Spoon half of the sauce over the top layer allowing it settle into the cracks of the au gratin before adding more.
For the top layer, stack two potatoes worth of slices together on their side (Hasselback style). Slowly start to spread them out like you're spreading out a hand of cards until a complete circle is made. Do the same with another potato worth of slices to fill in the circle, or make a decorative rose.
Spoon the rest of the sauce over the top of the au gratin, allowing it to settle in before adding more.
Preheat oven to 400°F.
Sprinkle a little extra gruyere or Swiss cheese on top of the gratin and place the baking dish on a sheet pan. Cover the au gratin with aluminum foil and bake for 90 Minutes. Remove the foil and bake for another 15 Minutes, or until the cheese on top is browned.
Remove the au gratin from the oven, and let it rest 10 Minutes before serving
You may not use all of the sauce as you make your au gratin.