To my knowledge there is no way to control the rate of motion of a non-physical object between two positions. It would be nice to be able to set this in llSetPos(vector v, float t), where t is the amount of time it would take to get to the target.
I simulate this with pushes along the forward axis and / or computed intermittent targets, but for the sake of developing "bots" with patrolling logic this isn't proving to be optimal.
I got it working with physics, but that seriously limits the number of bots you can run, not to mention things that happen when multiple collisions start.