Bring a large pot of salted water to a rolling boil. Cook the elbow macaroni until al dente according to package directions (about 7-8 minutes). Drain and rinse briefly with cold water to stop cooking. Set aside.
In a medium saucepan over medium heat, melt 2 tablespoons of butter. Add the flour and whisk constantly for 1-2 minutes until smooth and light golden (this is your roux).
Slowly pour in the milk and heavy cream while whisking continuously. Bring to a gentle simmer, stirring frequently, and cook for 3-4 minutes until the mixture thickens enough to coat the back of a spoon.
Reduce heat to low. Add the shredded cheddar, gruyere, and parmesan in three additions, stirring well until each is completely melted before adding the next. Stir in Dijon mustard, garlic powder, onion powder, and smoked paprika. Season with salt and pepper to taste.
Add the cooked macaroni to the cheese sauce and stir gently until every piece is evenly coated. Transfer the mixture to your air fryer-safe baking dish, spreading it evenly.
In a small bowl, combine panko breadcrumbs, melted butter, parmesan, and parsley (if using). Mix with a fork until the breadcrumbs are evenly coated. Sprinkle the topping evenly over the mac and cheese.
Preheat the air fryer to 350°F (175°C) for 3 minutes. Carefully place the baking dish in the air fryer basket and cook for 12-15 minutes until the top is golden brown and crispy. Check at 10 minutes to prevent burning.
Remove from the air fryer using oven mitts and let rest for 5 minutes before serving to allow the sauce to thicken slightly. Garnish with extra parsley or paprika if desired.