My 2c:
The
nav6 open-source IMU we developed is basically an Arduino UNO plus some ICs (gyro/accelerometer/magnetometer); after lots of experimenting during development, we found the simplest thing that could possibly work for communication was the RS-232 serial port.
This requires a USB to RS-232 converter serial cable, which is easily available.
As others have noted, I2C/SPI are also possible, but in my experience the code on the Arduino side (to be a I2C/SPI "slave" that receives messages and responds) is more complicated than receiving/responding to messages over the serial port.
Add to this that serial communication is much more easily debugged via a serial monitor like that provided in the Arduino IDE.
The only downside we found is that the WPI Library SerialPort class (in Java, specifically) had some bugs requiring some workarounds.
Next year, the advent of the RoboRIO will change this recommendation to: USB. This will provide both power and signal connections in a single, inexpensive cable, and the bandwidth should be the same or higher.