Or caused by the driver developers
sure.
10Mbit / FTDI 128 byte buffer = ~8K packets/second. By a coincidence(not) this is actual USB 2.0 isochronous packets/second limit(1ms*8 microframes). Now add craptastic software team and we end up with 8K context switches while the "driver" tries to pump all this into windows serial emulation layer, in single thread obviously.
Silicon Labs CP21xx serial converters send control signals/gpio using USB control transfers - they literary send
individual bits using 3-way handshake 8 byte packets. Its like transferring binary files using TCP with 8 byte window size.
There are multiple ways of doing something in a stupid way, doesnt mean the interface is bad.