I'm still using getwork because I have to use home made mining software to drive my FPGAs (I use a handful of pcie based FPGA dev cards). I didn't know there was a stratum proxy available, maybe I will try seeing if that works soon.
The proxy is actually the best solution if you have a large number of mining clients required. Native support is good in cgminer, since it will run multiple cards over one stratum connection. However, if you have multiple PCs, they can all run through a single stratum connection via the proxy. Stratum's work distribution method supplies you more work every 30 seconds than you could possibly exhaust. Paired with variable difficulty, this means an entire farm of 100 PCs on the proxy uses roughly the same amount of external bandwidth as each PC would use individually with native stratum clients. There is one small disadvantage, which is you lose fine measurement of individual rig performance under a proxy connection with multiple machines.
They each report separately, but because variable difficulty affects your whole farm, the time between shares on a per-worker basis will be longer. Since they're solving higher difficulty work, this isn't a huge issue, it just means the per-worker speed estimates will be subject to higher variance. That could be solved by splitting a large farm over a handful of proxies to keep per-worker variance lower. Overall account variance is effectively unchanged regardless.
You can read up on how to start the proxy at:
http://www.btcguild.com/stratum.php [or click 'Stratum Protocol' under Help & Support].
EDIT/UPDATE: Just to be clear, I'm saying that the proxy is the best/most efficient solution for a large farm, but it does provide a single point of failure. Having an automatic detection/restart of a proxy failure would mostly eliminate that risk. If you're somebody who sets up their miner and completely ignores them for days at a time, it may not be the best solution. Idle warnings would give notification of a full proxy failure though!