What is the bottleneck of a SD Card to USB transfer via microcontroller?
The SPI bus between the card and the micro is running at 50MHz, which corresponds to a maximum rate of 6.25MBytes/s


The SD card spec only allows up to 25 MHz in SPI mode - I would not risk higher speeds in case one uses different cards.

But this could yield about 3MByte/sec. Note that you may need to use multi block transfers for maximum throughput as there would be gaps for command activies otherwise. Most MCU example code only use single block transfers for simplicity.