Baking soda.
I like to mix it with water in a bottle so that's it's still liquid and just pour along the top of the shower/bath walls. I'll just sprinkle the wet bottom with the soda. The idea is to let it SIT. It's not just a scrub, but changes the PH, or something, of the surface and really gets things clean
When it dries you can take a wet scrub brush or scrubbing sponge and go over it. You can wet the sponge with vinegar for even more cleaning power. If you fill a spray bottle with vinegar and water and use it after showers it will stay clean.
No, it's not instant, but free of chemicals that are harmful to your lungs, skin, eyes, the animals that get tested on, ...and it works.
Here's a good blog:
http://eartheasy.com/live_nontoxic_solutions.htm