I think a block transfer function could be added. Maybe something like
bool SPIClass::transfer(uint8_t* rxBuf, uint8_t* txBuf, uint16_t size);
You need to allow either rxBuf or txBuf to be null. The transfer size is limited to a 16-bt field unless you use chained buffers.
The main problem is that SPI.h uses the variable chip select mode. This mode can be used with DMA but doesn't seem like what users would want.