The best shampoo is a rare shampoo! I find it best if I very, very rarely shampoo my horses. Sure, when they get done they come out shiny clean and pretty, but pretty quickly I notice their coat seems a little dull. Because I don't show I probably bathe them once or twice a year unless there is any medical reason or anything like that. If they are dirty and I want them clean, I either groom them or just thoroughly hose them down. The less you can bathe, the better.
The reason for that is because shampoo strips out the natural oils from the skin and coat, and even heavy conditioners and lots of currying can't give that back. I try to use more natural shampoos as they tend to not have extra harsh chemicals. I particularly like EQ Solutions. Occasionally I will use colour specific shampoos mixed in, especially for a show. I would definitely advise a whitening shampoo on socks and stockings, letting it sit for about a few minutes before rinsing (but not too long, no blue socks!).
A lot of what I would say has already been said, though, about how a good coat comes from inside out. Be sure your horse is eating well and getting the proper nutrition. With that, supplements can also be added. Grand Coat is a nice one. I've had the best and most financially reasonable luck with adding about a teaspoon of ground flax seed in the feed. It really does make an enormous difference. I also curry the heck out of my horses, I spend hours grooming them when I can.
Between those things, people at the barn always marvel over my horses and ask me what coat shine I'm putting on them to make them glimmer like that. Fact is, I don't put a thing on 'em, I just practice what I'm preaching.