I used to always wash my hair every day because it generally was very oily within 18 hours of being washed. After doing some reading
here I decided to stop washing my hair everyday. When I stopped washing every day, my scalp oil production adjusted very quickly. I now wash my hair only about once per week (if that), and I freshen it in each shower with conditioner. Conditioner has surfactants in it that will gently clean the hair a bit, but they take longer to work, so you need to leave the conditioner on your hair for at least 3 minutes. Use the cheapest conditioner you like the smell of (V05's Free Me Freesia is my favorite, check your local dollar store).
I find that now that my scalp has adjusted oil production to a more reasonable level, my hair almost never looks greasy, nor smells bad, but it is very shiny, my curls look a whole lot better, and my hair color fades much more slowly. I'm finding lately that my hair actually looks better the day after I shower than the day of my shower.
I decided to apply this same logic to the skin on the rest of my body, and I stopped using soap in every shower. The oiliness of my facial skin, which had been very bad, calmed down just like my scalp had, very quickly. Acne problems on various parts of my body cleared up almost completely.