I've been using WP-Touch. And for the most part it works well (there's a free version and a paid version) However, my hosting company tells me that it's pretty CPU intensive, and if you get a ton of traffic, it might not be the best solution for you. Because my traffic is seasonal and spikey, we never noticed, but they did some performance tests for us and said we better get rid of it. So we basically wrote our own. But if we weren't expecting this ginormous rush of traffic, we'd probably still be using WP-Touch quite happily.