Preheat oven to 350° and lightly grease a 9x13-inch pan
Boil the pasta per instruction on the box, drain and then place in a large bowl to cool.
Combine the swiss, colby-jack, and extra sharp cheese in a medium bowl. Set aside one cup to use later.
To make the roux, melt ¼ cup of butter on medium heat in a medium saucepan. Once butter has melted, slowly whisk in the flour until combined. Add in the milk (slowly) while whisking constantly, then add in the heavy whipping cream.
Whisk for 2-3 minutes or until it begins to thicken and get smooth. Slowly add the cheese mixture: swiss cheese, colby cheese, and extra sharp cheese 1-2 cups at a time and continue stirring until all the cheese has melted. Sprinkle with salt and pepper, then turn off the heat.
Place the pasta shells in the greased 9x13-inch pan, then add the cup of cheese you set aside and mix it throughout to coat the pasta. Pour the cheese sauce over the pasta.
In a small bowl, melt the remaining butter with the parmesan cheese and paprika (optional), then sprinkle over the top.
Bake for 30 minutes until warm and cheese is melted.