01 - Preheat oven to 375°F. Lightly grease a 9x13-inch baking dish with butter or oil.
02 - Melt unsalted butter in a saucepan over medium heat. Add diced onion and minced garlic and sauté for 2–3 minutes until softened.
03 - Whisk in all-purpose flour and cook for 1 minute, stirring constantly to prevent burning.
04 - Gradually add whole milk while whisking until smooth. Simmer for 3–4 minutes until the mixture thickens slightly. Stir in Dijon mustard, kosher salt, black pepper, and smoked paprika, then remove from heat.
05 - In the greased baking dish, arrange half the cooked chicken, then all diced ham, followed by half the Swiss cheese. Add the remaining chicken and top with the rest of the Swiss cheese.
06 - Pour the warm cream sauce evenly over the assembled layers in the baking dish.
07 - In a mixing bowl, combine Panko breadcrumbs and grated Parmesan. Sprinkle the mixture evenly over the surface.
08 - Transfer to the preheated oven. Bake, uncovered, for 30–35 minutes until the topping is golden and the filling is bubbling at the edges.
09 - Remove from oven and let rest for 5 minutes before cutting and serving.