If you put in a hard ice pack and put his sandwich in a tupperware (a good sealing one) it will be just fine, even with mayo, etc.
What you've listed sounds like a typical lunch. You might have to skip the peanut butter, though, as a lot of schools don't allow it.
When I pack a lunch (for other reasons) I usually make a sandwich. It helps to toast the bread, and then it doesn't get as soggy if you add mayo, etc. Yogurt is an easy throw in, as are cookies, chips, crackers, etc. If he likes dip, you can put in a tiny tupperware of some spinach dip and a baggie of tortilla chips, etc.
Lunchables are gross. You can make your own for a lot cheaper, and they'll taste better. Just put in some crackers, and cut up some good meat and cheese. My daughter loves that...a good role of summer sausage, some hard cheddar, and some Ritz crackers...yum. I wouldn't do it all the time...in our house, it's actually a Christmas treat served with olives, etc.
I definitely would use an icepack though...don't freeze his juice box. My mom used to do that and it was always still half frozen come lunch time. I hated it...I never had anything to drink.
You can get a good thermos and pack hot things, but I have no experience in this so I don't know if they'll actually stay hot.