Fastest possible way to read data into arduino?

Maybe it's worth approach the requirements from a slightly different direction.

Let's use Stereo CD as a baseline.

Wikipedia "Red Book" defines CD Audio as
2 channels x 44,100 samples per second per channel × 16 bits per sample = 1,411,200 bit/s = 1,411.2 kbit/s.

SPI is 4Mbits/second, so, if the program did no useful work while sending data, about 2/3rd of the Arduino's time is left to do something useful.

If the program used SPI hardware, in relatively simple way (very little sneaky stuff) I'd estimate that those 2x44,100 samples/second could be sent in 44,100 x 6uSec = 0.265 of a second leaving almost 3/4 of the Arduino to do useful stuff.

If sending the data was only slightly sneaky, it would take about 2x44,100 x 2uSec = 0.176 of a second, leaving the Arduino almost 5/6ths of its time to do something useful.

Lets take another baseline.
Wikipedia defines Super Audio CD as 2822.4 kHz 1 bit/channel.
So two channels of SACD would be beyond SPI's capability.

Folks who record live music, seem to use 192k samples/second, 24 bits/sample for each audio channel. That's 4.6m bits /second. Beyond SPI, but feasible if the data were shifted out in, say, 8 bit chunks (an Arduino only has 18 or 20 I/O pins, so 8 is a reasonable number to use for sound output).

Summary, if CD stereo is good enough quality, then sending the data probably isn't going to be too difficult.

If you want lots of audio channels, or higher quality than CD Audio, then it might be worth explaining what it is your trying to do so that folks can help.

What is likely to be more difficult than data communications is generating high quality, interesting sound.

HTH