Cook the pasta: Bring a large pot of salted water to a boil. Add macaroni and cook until al dente, about 6-8 minutes. Drain and set aside.
Make the roux: In a large saucepan, melt butter over medium heat. Whisk in flour and cook for 1-2 minutes until lightly golden, stirring constantly.
Add liquids: Slowly pour in milk and heavy cream, whisking to combine. Cook for 3-4 minutes until thickened.
Incorporate cheeses: Reduce heat to low. Stir in cheddar, gruyère, and parmesan gradually, letting each addition melt fully. Add Dijon mustard, smoked paprika, salt, and pepper.
Combine pasta and sauce: Add macaroni to the cheese sauce, stirring gently to coat. If using, stir in white wine.
Optional baking step: For a baked version, transfer to a greased 9x13-inch baking dish. Sprinkle panko breadcrumbs and extra parmesan on top. Bake at 375°F for 15-20 minutes until golden and bubbly.
Serve: Garnish with fresh parsley and serve immediately.