Our robot has 3 toggle switches to decide which autonomous mode program to use (2^3 = 8 possible programs).
We use a magnetic sensor with a custom circuit to use it to record wheel counts and reset them as necessary.
We have two different programs to go over the ramp using DR (one for being on the left side of the ramp, the other for being on the right side of the ramp),
two that go over the ramp repeatedly to knock any boxes that may have been already knocked down onto our side (also one for each side of the ramp),
a program that uses two of the banner sensors to find stacks of a certain height and move toward them,
and one that goes in a very ... unexpected manner. that's all you're getting on that one
All of our programs rely upon the wheel counter to keep track of position.
Edit:
I forgot to mention that the other program "slots" have been left empty for some expandability once we reach the competition.