The Arduino default use of SPI is to set the use of the hardware CS to false. Many of the libraries using SPI leave the default but then manage the CS locally within the library. For example, the Adafruit 1306 OLED display does just that. This means they can accept any free GPIO pin as the CS when initialised. I suspect the overhead in managing CS like this has very little impact in practice.
Of course, the same can apply in a non Arduino environment if one chooses to software manage the CS.