After years of trying I have defeated the soggy tomato sandwich. You need to buy those mini plum tomatoes (not cheap) or I suppose cherry tomatoes but I don't like them. Slice them down the middle and then place them cut side down onto whatever filling you are having; cheese or your meats etc. Therefore the bread is only exposed to the waterproof skin side of the tomato. Perfect but beware, they can be seedily explosive. I've made a mess twice this week but it's been well worth it.
No need to thank me.