To get back to the oigional question, we on 2607 like to use CAN for our motor controllers. CAN allows you to actually get live stats from the Jaguars as they are running, which was actually a unique aspect of our robot last year. Our bridge tipper (Bridginator) was powered by a plastic gearbox to a banebots motor (I think it was banebots). Anyway, if we flung the arm down at full speed, the plastic would break. But, if we hit the bridge at half speed and THEN increased to full power we could crush any ball that was beneath the bridge and still get on.
Being on Controls, we made the code to poll for the arm's motor amperage draw, a stat available over can. When the amperage spiked (e.g. hitting the bridge and the arm stopping) the motor was increased to full power.
So dont knock CAN till you try it! It can be quite useful
Though, it is a more complex system with more protocol to get from set motor speed to motor driving, which makes it a little more prone to problems. Just test it out and see if you like it!