Yeah, use one of the translateto functions, but there's something you need to be aware of... you have to either set it as the vehicle for the actors, or translate them with it. Here's what I learned: you CAN translate objects and their collision meshes, by editing the NIF:
To get Static object collisions to work with TranslateTo (to avoid leaving them behind as you describe), you must edit the bhkRigidBody settings in NifSkope to change:
Layer: Change OL_STATIC to OL_ANIM_STATIC.
Layer Copy: Change OL_STATIC to OL_ANIM_STATIC.
Motion System: Change MO_SYS_BOX_STABILIZED to MO_SYS_BOX.
Also, the static itself must be re-created under MovableStatic in the CK, not the regular Static section
(Source: http://www.creationkit.com/Talk:TranslateTo_-_ObjectReference)
But this does not work very well with anyone riding on it. I made a video in which you can see why (skip to about 1:50):
http://www.youtube.com/watch?v=gsmAN_OzVRg&feature=plcp
Maybe it doesn't demonstrate very well, but if it's faster than the speed of a snail, the collision update will be bugged and you'll easily fall off even if you don't move.
So you can translate the vehicle and the actors at once, and it works fine, but you can't move while that's happening. Same would be true with setvehicle. See example here:
http://www.youtube.com/watch?v=hRyTC_BvZS8&feature=plcp
You will also have to move the NPC actors in and out with a script, because there shouldn't be a navmesh going over the object, or else when it's not there, NPCs might walk over and fall below it, I think.
The difficult part of the script would be referencing all the actors who are going to be on the moving object if you don't know exactly who is going to be on it. This is where SetVehicle would help... perhaps if they walk into a trigger as they get too close, or something.
So, you said you are looking for a script or something... well, what the script looks like will depend on when/how/by whom the elevator needs to be used.
Lastly, I don't really know the difference between TranslateTo and SplineTranslateTo. I've tried them both with various parameters and they seem to result in the same behaviour.