Я наконец-то решил использовать преобразования webkit (translate3d) вместо использования javascript.
Проблема заключалась в том, что javascript позаботился о перемещении объекта.
Например, я использовал:
testElement.style.marginLeft="newposition px";
Это было мучительно медленно на устройствах iOS.
Теперь я использую:
testElement.style.webkitTransform='translate3d("newposition px",0,0);
И все работает так же гладко, как и должно.