One answer might be that in most of the cases, firewalls block incoming UDP connections. Hence, using TCP would be a better option.
Although the caveat to this is that due to its promise of reliability, TCP can be slow compared to UDP, thus resulting in lower efficiency.
Why is UDP traffic blocked?
Usually, when it comes to UDP traffic, you want to be restrictive because:
a) Compared to TCP, it is harder for a packet filter to reliably determine if an incoming packet is an answer to a request from inside the network... or an unsolicited request. Enforcing client/server roles via a packet filtering firewall thus gets harder.
b) Any process that binds to a UDP port on a server or client computer, even if it only binds to that port because it wants to make a request itself, will be exposed to unsolicited packets too, making system security dependent on there being no defects in the process that would allow exploiting or confusing it. There have been such issues with eg NTP clients in the past. With a TCP client, unsolicited data sent to that client will, in most cases, be discarded by the operating system.
c) If you are running NAT, heavy UDP traffic can create a lot of workload for the NATing equipment because of similar reasons as in a)