Touch gestures are only one type of gestures for mobile. Technologies such as accelerometers, light sensors, other cameras, pressure sensors, RFID, NFC, Bluetooth, and various location technologies are all possible.
Then there are the "display" mechanisms: vibration, rumble, electrical fields, force feedback, sound, and so forth.
In general, this space is in its infancy.
Phones should always be designed with one-hand use and two-hand use in mind, but it is up to the product team to decide the relative emphasis. Clearly making and receiving calls should be one-handed. Should web? I don't think that's as necessary. But usability can be achieved either way.
When designing gestures, you must keep in mind that they lack any innate visual affordance. You must rely on other methods to enable discoverability. There are a few approaches to this. The iPhone's "flick" (scroll fast) gesture is a very simple extension to an existing behavior; it uses something people already do and just responds more naturally to it.
A second approach is training. The Palm Pre requires users to go through a training video to get the "back" gesture, as you really can't use the device without it. There is no corresponding button.
Apple has used advertising to teach people about pinch to zoom. It's less effective: many users complain that they just can't read the browser text. They've not discovered how to zoom in.
Like I said, this space is very much in its infancy. But principles we've observed include:
Carefully train any gestures critical to the use of the device. Swipe left for back, pinch/spread to zoom out/in, double-tap to zoom to fit.
Avoid making many gestures critical to the use of the device. Provide menu or icon alternatives for most gestures. Gestures (and voice control) provide shortcuts, not navigation through menus.
Use natural finger or thumb paths rather than requiring strict rectilinear paths. In other words, use good biomechanics and be forgiving of error. Example: The iPhone unlock screen requires too much precision in start and end points to unlock. It is too easy to stop at the wrong place.
Test your gestures with real users. Redesign, test again.
Consider a device mode in which everything is done through the menu. This is the "share with somebody else" mode. Verbally communicating gestures while driving is frustrating for everybody.
Be smart about automatically doing things. Sometimes, for example, a person might want to lay down while reading a web page. Indeed, "in bed" is a common context for use. The iPhone makes this challenging, as it automatically rotates sideways. Some applications have a "lock" mode in which they won't rotate.
Where possible, re-use gestures. Pinch to zoom should be preserved. Flick to scroll should be preserved.
Think outside the box. Or off the screen. I want a function that intelligently locks and unlocks my screen based on device position and light input (i.e., it's upside down in a pocket or purse then the keys are locked; I pull it out and they are unlocked). This is far more important than an extra on-screen gesture.
Also, be sure to read some of Kevin Arthur's work. I keep coming back to Evaluating Gesture Usability – it includes a method to actually develop and test good gestures.