We swear by the pink bottle of Coppertone Waterbabies SPF 50. Been using it since our kids were babies and it still works for us (both kids and adults). You still have to reapply frequently after being in and out of the water, but I haven't found any other brand that can compare for protection and duration.
I use the Coppertone Spectra 50 on my 10 year old's sensitive skin. It is zinc oxide based, but transparent. I've found that if I apply it early and let it dry it does better.