why will i struggle
Because while you will fill the serial input buffer at the required speed when it comes to emptying it then Windows is slow and the buffer will overflow and it will drop bytes. Some applications are better than others at this. For example a continuous stream of data at the slow speed of 4800 baud will drop bytes in Hyper Terminal.