The name of what you are doing is "vendor-defined class."
From USB Complete, 5th Ed:
"In theory, at high speed on an otherwise idle bus, up to thirteen 512-byte bulk transfers can transfer
up to 6,656 data bytes per microframe, for a data rate of 53.248 MB/s. Real-world performance varies with the host-controller hardware and driver and the host architecture, including latencies when accessing system memory. Some high-speed hosts can transfer bulk data at around 50 MB/s."
A single, large transfer with multiple transactions (data packets) will transmit a block of data faster than multiple transfers, each transmitting a single data packet. Other traffic on the bus will also slow the transfer rate.