Bread: A grainy, crunchy bread adds the most texture, and when toasted, the natural oils in the nuts and grains kind of pop. For thicker rolls, scoop out some of the bread so the filling stays flat.
Condiments: I like pestos for texture and flavor: walnut-and-sun-dried tomato, black olive. Add chiles to mayo, or chopped cornichons to mustard. Shmear both pieces of bread so the flavors run through every bite.
Peppers: Bury spicy stuff in the middle. If it’s on the outside, it’s the first thing your taste buds hit and it’ll overpower the other ingredients.
Tomato: Probably the trickiest ingredient because it’s so wet. Keep it as far away from the bread as possible. Don’t put salt and pepper directly on the tomato, or it’ll get even wetter.
Butter: A thin layer on each piece of bread keeps it from getting soggy. Mascarpone or cream cheese works, too.
Cheese: Balance equal proportions of cheese and meat, especially when using a subtle cheese like fresh mozzarella, Fontina, or Swiss. Use a little less cheese if it’s a strong one, like Gruyère.
Greens: Whether it’s soft radicchio or crispy lettuce, keep greens toward the center so the sandwich doesn’t slip and fall apart when you try to eat it.
Meat: Everybody loves a stuffed sandwich, but in general less is more. Thin slices, conservatively apportioned, let you taste all the flavors separately, which is what a sandwich is all about.