Preheat oven to 350°F (175°C).
Cook the pasta: Boil the elbow macaroni until al dente, following package instructions. Drain and set aside.
Prepare the cheese sauce:
Melt butter in a nonstick pan over medium heat.
Add flour and stir until golden and fragrant.
Add salt, pepper, garlic powder, paprika, and onion powder. Stir for 1 minute.
Pour in milk, heavy cream, and cream cheese. Whisk and cook until the mixture comes to a boil. Turn off heat.
Gradually add 1 cup each of cheddar, Gruyère, and mozzarella while stirring until melted.
Combine the pasta: Add the cooked macaroni to the cheese sauce and mix well. Adjust seasoning if needed.
Assemble the dish:
Grease a 7x11-inch casserole dish.
Spread half of the mac and cheese mixture into the dish.
Sprinkle half of the reserved shredded cheeses on top.
Add the remaining mac and cheese, then sprinkle the rest of the cheese.
Bake for 15-20 minutes until the cheese is melted. Broil for a few minutes until golden brown.
Garnish with parsley and serve hot!