Preheat the oven to 375 degrees.
Cook the cauliflower florets until tender but still firm (al dente).
You can cook the cauliflower in a large pot of boiling salted water for about 4-5 minutes, then drain. Or you can place the cauliflower florets in a microwave safe bowl with ½ cup of water. Cover the bowl with plastic wrap and microwave for about 5 minutes. Remove from the microwave and drain.
Meanwhile, make a roux by melting 2 tablespoons of butter in a medium saucepan over low heat. Add the flour and cook for about 1-2 minutes, stirring constantly.
Slowly, pour the milk into the butter-flour mixture whisking constantly. Turn the heat to medium and bring the mixture to a boil, whisking frequently. Lower the heat and simmer for about 1 minute or until the sauce thickens. Remove from the heat.
Season with salt (about ½ to 1 teaspoon), ground black pepper and nutmeg. Add the Gruyere cheese, the white cheddar cheese and ¼ cup of the Parmesan cheese. Mix until the cheese has melted and the sauce is smooth.
Pour one third of the sauce on the bottom of an 8 x 11 x 2-inch baking dish.
Place the drained cauliflower on top and then pour the rest of the sauce over the cauliflower. Spread the sauce evenly.
In a small bowl, melt the remaining 2 tablespoons of butter.
To make the Panko topping, combine the breadcrumbs, Parmesan cheese and the melted butter in a small bowl. Mix to combine.
Sprinkle the Panko mixture on top of the cauliflower gratin and bake for 25 to 30 minutes, or until the top is golden brown. Serve hot or at room temperature garnished with chopped parsley (optional).