Just wondering. Did you download the philips module available from their site that demos the new features, including Gestures? They do an averaging algorithm and I'm not sure if that would help make things a bit less jerky.
With regard to up/down and allowing the moves, I'd simply set flags in your last 2 if clauses that allows movement in particular direction ONLY if flag for that direction is not set.
Where does the above code get installed? Page script or button script? I presume the former but would like to confirm?
Also, I am curious as to why are you you using scheduleAfter? From the code above, it appears that moveAll() is called repeatedly and the scheduleAfter() chain is never broken. The fact that you care changing variables in onMove and then using scheduleAfter() for sure can cause jerky movement.
Also, why are you calling moveAll() on the initial button press/page activate? Is it to kick off the timer?