First, with PSoC 4 it is important to define which UART you're using. Is this the SCB UART or the UDB UART.
The SCB UART has a buffer of 8 bytes, and the UDB UART has a buffer of 4 bytes.
If you increase the buffer size, both will automatically use an internal ISR to do the management of the buffer for you. (Meaning you don't need to handle things.) If you're enabling other interrupts, you'll need an external (to the component) ISR to handle those things. You can read the datasheet for those details.
Long story short, you should be able to set your buffer size and go forward with your UART_PutString and it won't block. (You'll still need to handle UART_GetChar, but at least you won't lose the message.)
Check this PSOC4 UART code example (receiving/sending command string from terminal)
And similar for UDB mode