01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish.
02 - In a saucepan over medium heat, melt butter. Whisk in flour and cook 1-2 minutes until lightly golden. Gradually whisk in milk and cream until smooth.
03 - Add Dijon mustard, garlic powder, onion powder, white pepper, and salt. Whisk constantly until sauce thickens, about 3-4 minutes. Remove from heat.
04 - Layer cooked chicken evenly in prepared dish, top with diced ham, then sprinkle Swiss and Gruyère cheeses.
05 - Pour warm cream sauce evenly over casserole layers.
06 - In a bowl, combine breadcrumbs, melted butter, Parmesan cheese, and parsley. Stir until moistened evenly.
07 - Sprinkle breadcrumb mixture evenly over the assembled casserole.
08 - Bake uncovered for 30-35 minutes until topping is golden brown and casserole is bubbling.
09 - Let cool for 10 minutes before serving.