See the Arduino SerialEvent example, it takes a while to send a character, with 9600 it's even a very long time, during this time the Arduino does thousands of checks if there is a character in the buffer and tries to print this text, it probably gets clogged up after a while. You have to collect the letters one by one into your buffer, make a line of text out of them (and it's good to send it in such a way that the message ends with a NL/CR character, which gives you information to do something with it now). And of course as khoam mentioned use hardware, then you can also set it to 115200 and it will be much faster.
Helpful post? Buy me a coffee.