palm oil is a natural sunblock, but of course if you put too much, it makes your hair looking greasy.
i tried a brand called "le petit marseillais" (it's french, i doubt you have it in the states ?). it's owned by Vendôme, a company who isn't testing on animals. i tried the shampoo for colored hair (it doesn't contains silicones too, l'oréal put some in every bottle of shampoo, sigh). it's a nice shampoo.
it contains avocado oil, and apparently it acts as a natural sunscreen. i suppose it works, though i didn't like much the texture (hard to rinse).