Then the straight critical engineering question is do you have to have 3000 full 8 byte data points per second?
Can you get away with 1000 packets per second or using fewer bytes each to pass only the changes between data points?
Does the data have to go wherever via bluetooth or is that a convenience?
Must the data be generated +and+ sent continuously at full speed without letup?
Suppose that you could generate and store the data during a busy time and transmit during data-idle time?
SPI is Serial Peripheral Interface. It's not so different from the RX/TX TTL serial that code for one can't be substituted for the other without major effort.
Look at interface types here, there are many choices though USB probably is not USB-host able to read Arduino.
http://www.mouser.com/Embedded-Solutions/RF-Wireless-Modules/Bluetooth-802151-Modules/_/N-6l7pg
Hey, IF it's critical then what choice do you have?