Preheat the oven to 350 degrees Fahrenheit. Grease a 9 x 13 (3 Qt) baking dish with butter and set aside.
In a small bowl, mix the topping ingredients and set aside.
Bring a large pot of salted water to a boil. Cook the pasta just shy of al dente, about 2 minutes less than the cooking time indicated on the package. Drain, transfer the pasta to a large bowl and drizzle with a little bit of olive oil or butter to keep from sticking. Toss the pasta until well coated.
In a large saucepan over medium high heat, melt the butter (do not allow it to brown). Sprinkle in the flour and whisk to combine. Continue to cook, stirring for about 1 minute. Whisking constantly, slowly pour in the milk in a thin, steady stream, Slowly pour the half and half whisking constantly until combined and smooth,
Whisk in the black pepper, pinch of nutmeg, garlic powder and ground mustard and heat, stirring, until sauce comes to a simmer and begins to thicken.This will take about 6 - 8 minutes. When the sauce coats the back of a wooden spoon, you should be able to draw a path with your finger. Then you know the sauce is ready.
Reduce the heat to low and working in increments, add the cheddar cheese stirring until well combined and completely melted. Add the Gruyere cheese and mix well. The sauce should be smooth and creamy. Remove from the stove.
Pour the cheese sauce into the cooked pasta and mix until evenly coated. Add the White Cheddar cheese and mix well. Season with salt and pepper to taste.
Pour the cheesy pasta into the baking dish and smooth the top into an even layer. Sprinkle the panko topping and bake for 20 minutes. If the top is not golden enough, place the baking dish under the broiler for 2-3 minutes. Keep an eye on it.
Remove from the oven and let it sit for 10 minutes before serving.