Bring a large pot of salted water to a boil. Add the elbow macaroni and cook until just al dente, about 7 minutes. Drain the pasta and set it aside.
In a medium saucepan, melt the unsalted butter over medium heat. Once melted, whisk in the all-purpose flour and cook for 1-2 minutes, stirring constantly to create a smooth roux.
Slowly add the milk to the roux, whisking continuously to avoid lumps. Continue cooking and whisking until thickened, about 5-7 minutes. Stir in garlic powder, onion powder, salt, black pepper, and cayenne pepper.
Remove the sauce from heat and stir in cheddar, mozzarella, feta, and Parmesan cheeses until melted and smooth.
Add the cooked elbow macaroni to the cheese sauce and gently stir to combine, coating all the pasta.
Transfer the macaroni mixture into the baking dish. Mix the breadcrumbs with chopped fresh parsley and sprinkle evenly over the top.
Preheat oven to 350°F (175°C). Bake the casserole uncovered for 25-30 minutes until golden brown and bubbly. Let cool a few minutes before serving.