In many situations the built-in collision detection is best as a sort of first pass. In your example of moving lifts set the player to sphere-to-polygon collisions against the lift objects so that he won't go through (eg. when approaching from the side) but then use a linepick for more accurate information to do stuff like having the player move with the platform.
Similarly, when you want super accurate polygon-polygon collision detection for everything you can often use the built-in collision detection for a rough first pass and then use MeshesIntersect with anything detected as colliding after the first pass.
Similarly, when you want super accurate polygon-polygon collision detection for everything you can often use the built-in collision detection for a rough first pass and then use MeshesIntersect with anything detected as colliding after the first pass.