Preheat your oven to 350 degrees F (175 degrees C). Grease a 9x13 inch baking dish with a small amount of unsalted butter.
Bring a large pot of salted water to a boil. Add the elbow macaroni and cook for 1 minute less than the package directions for al dente. Drain well and set aside.
In a large saucepan or Dutch oven, melt the unsalted butter over medium heat. Whisk in the all-purpose flour and cook for 1 to 2 minutes until lightly golden and bubbly to form a roux.
Gradually whisk in the whole milk, ensuring there are no lumps. Cook, whisking constantly, until the mixture thickens, about 5 to 7 minutes.
Remove the saucepan from the heat. Stir in the salt, black pepper, dry mustard powder, and garlic powder.
Gradually add the grated sharp cheddar cheese and Gruyere cheese, stirring until completely melted and the cheese sauce is smooth.
Fold the cooked elbow macaroni into the cheese sauce until evenly coated. Pour the mixture into the prepared baking dish.
Sprinkle the panko breadcrumbs evenly over the top of the macaroni and cheese.
Bake in the preheated oven for 25 to 30 minutes, or until the cheese is bubbly and the breadcrumbs are golden brown.
Remove from the oven and let rest for 5 minutes. Garnish with chopped fresh parsley before serving.