Well you can do it with breadboards, it is just not optimal.
What I've done in the past is solder up a prototype board with female headers for each of the Teensy pins (usually 2x12 for the Teensy 3.5/3.6 and the Teensy 4.0 with the carrier shields). And then I bring out the wire connections to a fixed order. For SPI, I originally used the order of one of the displays, but now I tend to break it out into 10 pins:
- Power
- Ground
- SCLK
- MOSI
- MISO
- CS pin
- D/C pin
- Reset pin
- Alternate CS pin
- Alternate CS pin
Then I make a custom wire setup going from the standard layout to each of the devices. I use the custom crimp pin setup from Pololu to make the custom wire assemblies. One problem I've had in the past is sometimes the male pin gets pushed out of the housing, so when I make new custom cables, I plan to put a dab of glue to hold it in place.
I put several links in the wiki:
<edit>
Another thing I've done in the past is lay out a breadboard or prototype board with the female headers for the Teensy, and then male headers placed in the right spot to mount the display. This way, you just move the Teensy from prototype board to prototype board. One example is the Adafruit featherwing displays aren't compatible with some feather processors (some you just cannot mount the display, some you would need to mount the display under the board), so I wired up a board to switch the around:
The prototype board I used was from robot50.net. That person is no longer selling the board, he/she has made the PCB files available that you can make your own version:
But if I was redoing it now, I might use this prototype board from Electrocookie that has two sets of 30 pin boards: