Проблема как раз в том, что перемещение для плавности надо делать при помощи translate. Если позарез надо именно left/right, то в стиль элементу можно добавить следующие правила (лучше все сразу, чтобы поддержать всякие сафари и разные версии хромов):
.animatedElem {
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000;
-moz-perspective: 1000;
-ms-perspective: 1000;
perspective: 1000;
/* пишут, что работает лучше чем translateZ на мобилках */
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}