01 - Preheat the oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish to ensure easy serving.
02 - Melt unsalted butter in a saucepan over medium heat. Add the diced onion and minced garlic, cooking for 2 to 3 minutes until fragrant and soft.
03 - Whisk in all-purpose flour and cook for 1 minute. Gradually pour in whole milk while whisking constantly until smooth. Simmer for 3 to 4 minutes until the sauce thickens slightly.
04 - Add Dijon mustard, kosher salt, black pepper, and smoked paprika to the sauce, stirring thoroughly. Remove the pan from heat.
05 - Place half of the cooked chicken in the prepared baking dish, add all of the diced ham, and top with half of the shredded Swiss cheese. Repeat layers with remaining chicken and Swiss cheese.
06 - Evenly pour the warm sauce over the layered chicken, ham, and cheese.
07 - In a small mixing bowl, combine Panko breadcrumbs with grated Parmesan cheese. Spread this mixture evenly over the prepared dish.
08 - Place the casserole uncovered in the preheated oven and bake for 30 to 35 minutes, or until the topping is golden brown and the contents are bubbling.
09 - Remove from the oven and allow to rest for 5 minutes to set before slicing and serving.