Preheat your oven to 350°F (175°C).
In a large pot, bring salted water to a boil and cook the elbow macaroni according to package instructions until al dente. Drain and set aside.
In a medium saucepan, melt the butter over medium heat. Once melted, whisk in the flour and cook for about 1 minute until it forms a roux.
Gradually pour in the milk while whisking continuously to avoid lumps. Keep cooking and stirring until the sauce thickens, about 5-7 minutes.
Remove the saucepan from heat and stir in the sharp cheddar cheese, mozzarella cheese, Parmesan cheese, garlic powder, onion powder, paprika, salt, and pepper. Mix until the cheese is melted and the sauce is smooth.
Combine the cooked macaroni with the cheese sauce in a large mixing bowl, mixing well to coat the pasta evenly.
Pour the mac and cheese mixture into a greased 9x13 inch baking dish. If you like, sprinkle breadcrumbs on top for added crunch.
Bake in the preheated oven for 20-30 minutes or until the top is golden brown and bubbly.
Remove from the oven and let it cool for a few minutes before serving.