Why is asynchronous data transfer only suitable for slow devices?
Since you are talking about keyboards and mice it sounds like you specifically mean asynchronous serial communication. This communication is slower than synchronous serial communication because the receiver must synchronize the received data to its own clock. The system clocks in the transmitter and receiver can have slightly different frequencies. In asynchronous communications the transmitter clock is not sent along with the data, so the receiver must try to reliably detect the timing of the bits.
This is accomplished by oversampling: sampling the value of the incoming data at a much faster (usually 16x) frequency than the actual data rate. When the receiver sees that two successive samples are different (usually from high to low) it assumes that it has just seen the leading edge of a start bit. The receiver then uses its oversampling clock to try to wait and sample each successive bit right in the middle of its bit time. If you send something like 8 data bits plus a start bit and a stop bit, then the system clock frequencies in the receiver and transmitter can differ by about 5% and communication will still work.
Since the receiver must create the faster oversampling clock, the data rate is limited to something much lower than the system clock speed. Data rates are also limited by how accurately the system clock can be divided down to the exact data rate desired. In synchronous communication the clock is transmitted along with the data so these issues can be avoided and higher data rates are possible.
More information at https://en.wikipedia.org/wiki/Asynchronous_serial_communication
No handshaking is needed to make this work.