Preheat a grill pan or outdoor grill to medium-high heat. Brush vegetables with 2 tablespoons olive oil and season with salt and pepper.
Grill vegetables in batches until tender and charred, about 3-4 minutes per side for zucchini and peppers, 5-6 minutes per side for onions. Remove and set aside.
Chop grilled peppers into strips. Keep zucchini and onion slices whole or cut to fit bread.
Spread pesto on one side of each bread slice. Layer 4 slices with mozzarella cheese, then divide grilled vegetables evenly among them.
Top with remaining mozzarella slices and bread slices, pesto-side down. Brush the outside of sandwiches with remaining tablespoon of olive oil.
Heat a large skillet over medium heat. Cook sandwiches for 3-4 minutes per side until golden brown and cheese is melted. You may need to work in batches.
Cut sandwiches in half and drizzle with balsamic glaze if desired. Serve hot and enjoy!