In a pot, melt butter over medium heat and whisk in the flour until smooth.
Slowly add chicken broth and milk, whisking continuously to avoid lumps.
Stir in heavy cream, garlic powder, onion powder, and black pepper.
Add shredded chicken and diced ham, simmering for 10 minutes.
Mix in Swiss cheese and Parmesan cheese until melted and creamy.
Season with salt to taste and serve warm, garnished with croutons or parsley.