Heat a skillet or grill pan over medium heat.
Butter one slice of bread on one side and place it butter-side down in the skillet.
Spread 1 1/2 teaspoons pesto over the unbuttered side of the other bread slice.
Layer the pesto-topped slice with the shredded Gruyere and Monterey Jack, then place the cooked chicken slices on top; season chicken with salt and freshly ground pepper. Add roasted red pepper slices if using.
Butter the top slice of bread on the outside and place it butter-side up on the sandwich in the skillet.
Cook over medium heat until the bottom slice is golden brown and the cheese begins to melt, about 3–4 minutes; then carefully flip and cook the other side until golden and cheese is fully melted, another 3–4 minutes, adjusting heat as needed.
Remove from the skillet, slice in half, and serve immediately.