W3C has just released a working draft of the Pointer Events standard which has mostly been contributed by Microsoft as implemented in IE10. This is an attempt to unify the way we work with "pointer" input devices but it also highlights the mess that we are in at the moment with regard to touch input.
The Pointer Events API allows you to write code that works with a range of input devices. The same events work with pen input, touch input and the mouse. Originally the W3C was using Apple's touch event API, but this fell foul of patents which cannot be part of a W3C standard.
Microsoft submitted its own touch standard Pointer Events as implemented in IE10 and this now forms the body of the W3C working draft. The big problem is that now Apple isn't interested in implementing the standard because it would rather support three APIs, one for each type of input device. Apple claims that three APIs are simpler to use, but its reluctance to join in could be something to do with patents.
Basically this means that WebKit based browsers probably aren't going to support the standard. However, Google has expressed interest in implementing it in Chrome. In a very surpising move, Microsoft has actually produced a patch for WebKit that implements the API - only time will tell if this is accepted.
As well as the unified Pointer Events API there is also an older Touch API, but even though the Candidate Recommendation was published at the end of 2011 only the latest Chrome and Firefox support it. If you want to program touch in IE, Opera or Safari you can't use the standard. However, as the standard was derived from Apple's Touch API things are almost identical under iOS.