I use table variables quite often but probably in a different context. I'm more of a services guys so I create procedures that take them as parameters, and pass the tables from UI or back end processes. Much less chatty than say one-shot adds for a set of data.
I'm using SQL+ .NET so I just write the procedure and let the tool generate the service.