Autonomous Balancing Methods

What are some methods teams are using to balance on the Charge Station at the end of autonomous? My team has decided to use a PID that reads the pitch to determine drive train speed. Are there any other (better) methods out there? What will be the average time it will take for the robots to dock and engage autonomously? Would it be more difficult with a swerve drive, rather than a tank?