Hi,
Re the USB-serial converters, the following transfer rates are supported (just off the top of my head):
FTDI:
* FT232 (full speed): 1M baud (100 kB/s)
* FT232H (high speed): 12M baud (1.2 MB/s)
SiLabs:
* CP2102: 1M baud (100 kB/s)
Prolific:
* PL2303: 3M baud (300 kB/s)
The FT232H devices is capable of asynchronous parallel read/write at datarates of up to 8 MB/s and a synchronous parallel mode up to 40 MB/s. So 'speed' shouldn't be an issue here.
The FT devices come with a driver and direct interface DLL, though you can change the VID/PID and the device name displayed by adding an EEPROM. If you change the VID/PID, you'll need to organise a new driver -- you can just use the generic libusb driver and just modify an INF file.
You should be able to use the libusb driver for any USB device though, even one that you create from scratch. Otherwise writing your own driver may be difficult, and you may have trouble finding sufficient information or support.
Microchip does have a bunch of App notes, drivers and code (as stated above) if you didn't want to use an interface IC.
So, in summary, the driver can be:
* painstakingly written by you from scratch,
* provided by the interface IC or uC manufacturer,
* the generic one provided with libusb...
Regarding VID/PID, you can get one for free from FTDI or from Microchip, for use with their chips. You don't need one if you're using the manufacturer's though.