Direct port manipulation to write 40 bits
I have few SPI ADC which have forced SPI bus down to 1 Mhz. I understand that the shiftout works at 14Khz which is too slow.


You can change the SPI speed at any time. Once the device is selected (Slave Select asserted) then reconfigure the SPI bus for high speed operation.

eg.

SPI.setClockDivider(SPI_CLOCK_DIV2);


SPI is definitely the fastest way you can communicate with a shift register.