You don't need to wait for the program to download, there is a short (about 5 second) delay after selecting the program you want to watch, and then it plays, I have been using the virgin (and previously telewest) on demand service since it started a couple of years back, and I have never encountered any jerkiness or pauses as it streams the content. from the users perspective it is just like watching normal TV with the added bonus that you can pause, rewind and fast forward.
It is the only true on demand TV service widely available (apart from kingston communications on demand services in parts of Hull), and it works very well. The cable networks are a high bandwidth IP based network. The cable box sends a request accross the network to the Virgin servers and the requested program is streamed to the box in a similar way to how video is streamed over the internet.
The big difference between cable and internet streaming is that, the interent is a chaotic mish mash of networks, using many different types of physical networking infrastructure and cabling which is not under the control of any single company, therefore, ISPs, content providers etc can not guarrantee quality of service form point ot point. This makes reliably streaming large volumes of time sensitive data (such as a TV program) difficult, even with very fast broadband connections since although your end connection to the net (to your ISP) may be fast, the quality of the connections between your ISP and the content provider can not be guaranteed at all, not to mention issues of bandwidth contention.
Cable on the other hand is a closed network deployed, controlled and operated by a single company who can therefore guarantee the quality of connection from your home to their servers. This makes the service much more stable, reliable and allows them to provide faster connections. So when cable broadband says it is 8Mb or 20Mb etc, those are the speeds that you are actually likely to get most of the time. ADSL broadband over phone lines which claims to be 8Mb is only likely to reach that figure occaisionally.
Although the cable network carries phone, TV and broadband, since the network is all controlled by 1 company, they are able to set their networking hardware to prioritise time sensitive data (the phone and TV) and then allocate the left over bandwidth to the broadband This is known as "quality of sevice scheduling" (QOS) and ensures that your TV and phoen operate exactly how you would expect. This is something that is not likely to appear in the forseeable future in Internet TV sevices.