This will sound counterintuitive, but washing less can help reduce the amount of oil your scalp produces, thus producing less oily hair. The transition sucks, but I've noticed a change since I started washing every other day.
That being said, I've had luck with the Body Shop's Rainforest Balance Shampoo and Conditioner, as well as Lush's Squeaky Green shampoo bar and Jungle conditioner. I've also noticed a difference when I let my hair air dry down as opposed to up in a messy bun or ponytail. I get more out of my wash if I let it dry completely before pulling it up.