Preheat and prep: Heat your oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish.
Layer the chicken: Spread the cooked chicken evenly in the bottom of the dish. Season lightly with salt and pepper.
Add the ham and cheese: Scatter the ham over the chicken.
Top with half the Swiss cheese. This creates a melty layer that locks in moisture.
Make the sauce: In a medium saucepan, melt the butter with 1 tablespoon of olive oil over medium heat. Whisk in the flour and cook 1 minute until it smells nutty.
Slowly whisk in the chicken broth, then the milk, until smooth.
Season the sauce: Stir in Dijon, garlic powder, onion powder, smoked paprika (if using), and a generous pinch of salt and pepper. Simmer for 3–5 minutes, whisking, until slightly thickened to a creamy gravy consistency.
Assemble: Pour the sauce evenly over the chicken and ham. Sprinkle the remaining Swiss over the top.
Make the topping: In a small bowl, combine panko, Parmesan, and the remaining 1 tablespoon olive oil.
Toss to coat so the crumbs crisp up nicely.
Top and bake: Sprinkle the breadcrumb mixture over the casserole. Bake for 20–25 minutes, until the sauce is bubbling and the top is golden brown.
Rest and serve: Let the casserole sit for 5–10 minutes to set. Garnish with chopped parsley and serve warm.