http://www.coderpro.ru/jquery-prostoj-slajder.html
вся суть заключается в том, что блок шириной в одну картинку обёртывает блок у которого ширина равна сумме ширин всех картинок
Что касается плавности, то свойство transition распространяется на trasform: translateX(); (это в CSS коде)