The solutions are almost all barely satisfactory, and contribute to script lag.
Would it not be better if there was one or more functions in LSL that accomplished this in a direct and efficient way (to be determined by the implementers

For example:
llSwing( pivotPoint, angle, period )
might make a swing swing back and forth between +angle and -angle at a speed determined by period. (Hmm, probably need some sort of axis or vector, too).
llOscillate( direction, distance, frequncy)
slides in direction for some distance, slows to a halt, slides back 2*distance in -direction, slows to a halt, and so on.
Tools we have now, such as llMoveToTarget and llSetTargetOmega (names from memory, probably wrong) do part of the job, but stringing a bunch of them together to make it work right turns out to be hard in LSL, but would be almost trivial, I believe, in the underlying Server side VM.
Anyway, just a thought. If anything comes of it, we can make a Jira request.
This is sort of analagous to Particle Emitters. There, we have a full featured underlying mega call that can create everything from fireflies to comets and blizzards. I would like a low level linear and rotational oscillation causer. The it would be easier to make swings, rockers, pendulums, machine parts, pumps, wells, locomotives, elevarors and such.