Is TCP or UDP better for VPN ?
Generally, TCP is more reliable than UDP, however, UDP performs better than TCP.
TCP is a stateful protocol requiring acknowledgement "ACK" packet to be received for every packet sent. This causes greater overhead on TCP connections, but does make them more reliable.
UDP, on the other haand is a stateless protocol. As such, packets are assumed to be received with no retries or acknowledgements. This reduces overhead and makes UDP quicker, but less reliable than TCP and more prone to packet loss.
Generally, VPN UDP is better for VoIP, media streaming and gaming traffic, as well as shorter distances and high capacity broadband connections where packet loss is unlikely. TCP is better for overall reliability of transmitted data, longer distances, and slower/unreliable connections (3G/4G/Wireless, Satellite, etc.)