Preheat a large, non-stick skillet or grill pan over medium heat.
Lay all the slices of bread out and spread the tops evenly with the butter.
Heat a large, non-stick skillet over medium low heat. Place 1 slice of bread into the pan butter-side down. Top with 1/4 cup gruyere and 1/4 cup cheddar, lay a slice of bread on top, and lightly spread butter on the top.
Tent loosely with foil and cook for 2 minutes until the underside starts to brown.
Flip the sandwich over and sprinkle 1 tablespoon parmesan cheese on the top. Tent with foil and cook for 2 minutes until the underside is browned then flip the sandwich.
Sprinkle the top with 1 tablespoon parmesan cheese, tent with foil and cook for 2 minutes until the underside is brown. Flip one last time and cook for 2 minutes until the underside is browned.
Repeat with all sandwiches or you can try and fit as many into the pan at the same time if it is big enough.