Boil the pasta. Bring a large pot of well-salted water to a rolling boil. Cook the macaroni until just shy of al dente (usually 1 minute less than the package suggests). Reserve 1/2 cup of pasta water, then drain.
Warm your dairy. If your milk and cream are cold, warm them briefly in the microwave or a small saucepan. Warm dairy helps prevent a lumpy sauce.
Make the roux. In a wide saucepan or deep skillet over medium heat, melt the butter.
Whisk in the flour and cook for 1 to 2 minutes, stirring constantly, until it smells nutty but is not browned.
Add the milk and cream. Slowly pour in the milk and cream while whisking. Keep whisking until smooth. Bring to a gentle simmer and cook for 3 to 4 minutes, until slightly thickened and glossy.
Season the base. Whisk in the mustard powder, paprika, salt, a few grinds of pepper, and hot sauce if using.
Taste and adjust salt as needed.
Stabilize with cream cheese. Reduce the heat to low and add the cream cheese. Stir until completely melted and the sauce is silky. Low heat prevents separation.
Add the shredded cheeses in batches. Sprinkle in the cheddar, Monterey Jack, and Parmesan a handful at a time, stirring constantly. Let each addition melt before adding more.
Keep the heat low and don’t rush.
Adjust the texture. If the sauce seems too thick, splash in a bit of the reserved pasta water. It helps thin the sauce and adds a little shine.
Combine with pasta. Add the drained macaroni to the sauce and fold gently to coat every piece. Cook together for 1 minute over low heat so the pasta absorbs flavor.
Finish and serve. Taste and add more salt or pepper if needed.
Serve hot, with a pinch of extra paprika or a crack of black pepper on top.