TCP Overlay is currently in the planning stage and will be included in a future release.
Development Progress can be tracked here
The real-time network, where blocks, votes, and request for votes are first broadcast to all peers is currently implemented on top of UDP.
This has the advantage of being connection-less, so no setup is required, in principle, to send a block and light-weight since UDP has very little overhead. However, this has the disadvantage of putting a lot of work ensuring some properties of the real-time network that we care about are maintained within our application itself.
We are going to evaluate potential replacements to UDP and compare them to UDP and each other.
With this information in hand, we can then decide what architecture we want to change to or if we are already using the best available one.