For a milder flavor, substitute white Cheddar for the Gruyère and Monterey Jack for the Gouda.
Preheat oven to 350ºF. Cook pasta al dente or according to package directions. Drain and set aside.
Lightly grease a 13" x 9" or 8" x 8" baking dish, and set aside.
Melt butter in a Dutch oven over low heat. If using, add fresh herbs. Let them hang out for just a minute or two until their fragrance is released. Be sure to remove the herbs from the pan before adding the flour.
Increase heat to medium. Add flour, and cook, whisking constantly, 1 minute. Slowly whisk in milk, and cook, whisking constantly, 5 minutes or until smooth mixture comes to a boil and thickens slightly.
Whisk in salt, black pepper, and, if desired, red pepper.
Remove from heat and add 1/2 cup of the shredded Gruyère, whisking until smooth. Add the Gouda and Parmesan, and whisk until smooth. Add the pasta, and stir to combine.
Transfer mixture to the prepared baking dish and top with the remaining 1/2 cup of shredded Gruyère. Bake at 350ºF for 25 to 30 minutes or until bubbly.
For gluten-free option, use gluten-free flour and pasta.