First improvement. Replace the line
Code:
  slideElem.style.marginLeft=(-(curSlide*slideWidth+curSlidePos))+"px";
with these three lines
Code:
  var curWidth=slideWidth*((curSlidePos>0)?slideCount-slidesVisible:1);
  var offset=Math.sign(curSlidePos)*(1-Math.cos(curSlidePos/curWidth*Math.PI))/2*curWidth;
  slideElem.style.marginLeft=(-(curSlide*slideWidth+offset))+"px";
for a kind of ease-in/out movement.
Compare here