Two things really stuck out at me in reading your post: plaid flannel shirts and jean shorts. These just aren't fashionable. I think he definitely needs to toss the jean shorts. If he wants to do something casual for the summer, have him stick with khaki shorts, or even cargo-style shorts (which I like on guys his age).
I would replace the plaid flannel shirts with more basic button-downs. One brand that might work really well for him would be Brooks Brothers non-iron shirts in slim cut. The slim cut should make them fit better and the non-iron will mean he can just wash and throw it on--no ironing required. But he will look SO much more polished. They come in solids and patterns (including plaids, but nice, subtle plaids, not your typical lumberjack type with bright colors). My boyfriend wears these shirts to work with his wool pants, but then also wears them on weekends with shorts or jeans, and they always look great.
Here is a link to the options: http://www.brooksbrothers.com/.....ion_Id=205 You have to imagine it without the tie, of course, and some of the styles are stuffier than others, but you have to make the right choices.
As for the sweatshirts, could he be convinced to wear some finer guage sweaters instead? Or some polo shirts?
Finally, I don't know what kind of sneakers he is wearing, but you may want to upgrade those as well so his footwear looks a little more fashionable. I know a guy who wears plain white sneakers everywhere, and they aren't at all cool or trendy, and it makes his outfits look really unfashionable.