01 - Preheat oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish to prevent sticking.
02 - Melt unsalted butter in a saucepan over medium heat. Add diced onion and minced garlic; cook for 2–3 minutes until softened and fragrant.
03 - Stir in all-purpose flour, whisking constantly for 1 minute until well blended. Gradually pour in whole milk, continuing to whisk until no lumps remain. Simmer 3–4 minutes until slightly thickened.
04 - Add Dijon mustard, kosher salt, black pepper, and smoked paprika to the saucepan. Stir thoroughly, then remove sauce from heat.
05 - In the prepared baking dish, arrange half the chicken in an even layer. Distribute all of the diced ham over chicken, then sprinkle with half of the shredded Swiss cheese. Repeat layering with remaining chicken and Swiss cheese.
06 - Evenly pour the warm sauce over layered ingredients in the baking dish. In a small bowl, mix Panko breadcrumbs with grated Parmesan cheese, then scatter mixture evenly over the surface.
07 - Transfer baking dish to oven and bake uncovered for 30–35 minutes, until the topping is golden and the dish is bubbling at the edges.
08 - Remove from the oven and allow to rest for 5 minutes before serving. This helps set the layers and makes serving easier.