Scrolling on Android is not smooth because the (Google) programmers did not know what smooth means, and probably did not think that it is important. Steve Jobs was a genius, because he knew what is important, and disposed all impecille staff hampering realization.
On my Milestone with Android 2.2, I can detect several bugs preventing a smooth scrolling experience; I think the programmers consider them features:
If I start dragging, the screen does not follow immediately, but with a delay of a fraction of a second. I think the user does not have the highest priority in this system, has he?
If I drag diagonally, the screen decides to move either exactly horizontal or vertical, and so drifts away from my finger. However, if I insist on diagonal (moving fast) it suddenly breaks free, and jerks up to the touch point. The system apparently thinks I want to move rectangular, but lack the motoric control. Well, I do not. Feels like using a mouse on a wire grid.
When scrolling over longer pages, the scroll continuously freezes, probably because graphics being prepared before they can appear on the screen. This is bad programming. First of all, the complete page should be prepared in an offscreen buffer, 256 MB is plenty of memory to do so even for the largest pages (remember, the GUI is the most important process on the device). And, secondly, if the graphics is not ready, an empty space (maybe a placeholder) should smoothly scroll in.
Finally, the hardware is bad; I think my touchscreen only has some 1 mm resolution, and thus cannot be expected to control a smooth scroll of a 300 dpi (~ 0.1 mm) display.