Preheat the oven to 350 and grease a 9x13 baking dish with butter or non-stick cooking spray
First make the cream sauce
Place 4 tablespoons of butter in a medium saucepan. Melt butter over medium-high heat.
Whisk in 4 flour and continue cooking for about 2 minutes or until the flour mixture is bubbling and starting to turn a golden brown.
Add in milk 1/2 cup at a time whisking between each addition until all of the milk has been incorporated.
Add in garlic powder, sour cream, salt and mustard, stir to mix well.
Turn down the heat to low and simmer for about 5 minutes.
Remove from the heat and add in shredded swiss, and parmesan cheese.
Stir until the cheese is melted and well incorporated.
Spread the cooked chicken in an even layer on the bottom of the prepared baking dish.
Evenly sprinkle the chopped ham across the chicken.
Pour the cheese sauce mixture evenly over the ham and chicken.
Melt remaining 2 tablespoons of butter.
In a medium bowl combine the bread crumbs and melted butter, mixing well.
Sprinkle the bread crumbs evenly across the top of the cheese sauce.
Place in your preheated oven and bake for 30-35 minutes until bubbly.
Increase the oven temperature to 425 and continue baking for another 10-15 minutes or until bread crumbs are a nice golden brown.