If you want TB3 support on each USB port, you will run out of PCIe lanes available on the CPU. Just with basic support for 2 PCIe lanes per port and 4 ports, you are at 8 already. Similarly with running DisplayPort to each port, your GPU doesn't have unlimited number of encoders.