Preheat the oven to 350 degrees F. Grease a casserole dish and set aside.
Heat 1 tablespoon of olive oil in a large frying pan. Add the cubed chicken breasts to the hot pan. Brown the chicken until cooked completely through.
While the chicken is cooking, bring a large pot of water to a boil and cook the pasta until the pasta is just about ready. It will still have a bite to it. Drain and set aside.
When the chicken is cooked, remove it from the pan and set aside.
Add another tablespoon to the pan and heat. Add the garlic and cook for about 30 seconds. Stir in the cream of chicken soup and half & half. Whisk until well incorporated. Add the salt and pepper.
Remove from the heat and stir in the parmesan cheese and cooked chicken.
Dice the ham into small bites. Combine the pasta, chicken and sauce and diced ham. Stir to thoroughly cover the pasta with the sauce. Transfer the pasta mixture to the prepared casserole dish. Arrange the slices of Swiss cheese on top of the pasta.
Bake in the oven for about 20 minutes until the cheese is melted and bubbling.