Instead of using a simple PID controller for Attitude control, create a straigth trajectory between old position and target, and then use a PD controller to follow that trajectory. This should smooth out all overshooting!
Posibility to change P I D values from inside the game for the more advanced users would be nice to!