По мне animate() по умолчанию все делает плавно.
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<style type="text/css">
div{
background: red;
position: absolute;
left: 26%;
width: 50px;
height: 50px;
}
</style>
<script type="text/javascript">
$(function(){
(function cub(){
$('div').show('slow').animate({left:'+=350', opacity: 0.05},1500).animate({left:'-=350', opacity: 1},1500, cub);
})();
});
</script>
<div></div>