I'd definitely recommend Unity3D for this. It provides (as far as it can) platform-agnostic abstractions for controls, graphics and audio, although if you want to get down-and-dirty with a particular platform you can easily write native plug-ins.
Very technical people often have reservations over such systems that seem to cater for non-techie developers, but I found it made game development much more enjoyable- less platform-specific graphics boilerplate and more enjoyable challenges like AI.
I ended up creating this simple ragdoll game over a few days for iOS- http://itunes.apple.com/gb/app/ragdoll-spike!/id384354298?mt... , I'd be interested to see how much longer it would have taken to do natively!