In a medium sauce pan melt butter over medium heat. Add garlic and saute 1-2 minutes until fragrant. Add flour and stir until it clumps up.
Gradually whisk in half and half (or heavy cream) 1/2 cup at a time until all milk is incorporated and mixture is smooth.
Add swiss cheese, 1/3 cup parmesan cheese, onion powder, salt, pepper, and dijon mustard. Stir until smooth.
In a large bowl combine cooked pasta, chopped chicken, chopped ham, and the sauce. Mix until well combined. Transfer mixture to a casserole dish. Sprinkle with remaining 1/4 cup parmesan cheese and breadcrumbs.
Bake at 400 for 15-20 minutes until breadcrumbs are browned. Serve warm.