We've used limit switches, and encoders to great success. We've had limited results with the 300 deg/s version of the '08 (and '07, I think) kit of parts gyro. We've also had some limited success with Sharp IR distance sensors and the MaxSonar distance sensor. Both the IR and MaxSonar sensors work great, it's just our implementations were not well tested enough. The Gyro on the other hand was, but for some reason we never figured it, when the OI was plugged into the Competition Port (i.e. the Robot was on the playing field) the Gyro never initialized and gave a completely bogus reading, causing our robot to drive across that nice white Lane Divider, conveniently scoring us a 10 point penalty.
But yeah. Limit Switches. They're awesome! Cheap, easy, and can save you from accidentally having major rebuilds. As I've posted in another thread, the Sharp IR sensors "miss" clear material (polycarbonate, glass, acrylic) unless the radiation beam (that just sounds nifty!) is perpendicular to the see through surface. Sharp IR sensors also can have problems with shiny multifaceted surfaces (aka, the aluminum diamond plate FIRST puts all over their fields). The MaxSonar sensors have none of these issues. The Gyro also works great, as long as it initializes (and our problem was pretty one-in-a-million). Just be sure the gyro can keep track of a robot that is spinning pretty rapidly (150 deg/s does not cut it).