The pool I ran for bitcoins averaged ~110-115% efficiency, but that was on a dedicated server (not a VPS) in Germany with 1gbit/1gbit switch (200mbps guaranteed but in practice could 99% of the time get 80MB/s + ). Averaged around 3-5% DOA for me and about 2-4% orphans.
When I initially tried to set up my home connection, I was getting around 0-1% DOA and 15-20% orphans. A few percentage of the orphan rate was from being in the US instead of France/Germany/Netherlands where most of these dedicated servers & VPS are running. Most was from my 768kbps upstream cap.
Later on I was able to set it up w/ 0-1% DOA and an orphan rate under 10% (though it still wasn't as good as just using German remote server, after share time got changed to 30s)... anyway, the deal is, just have bitcoind connect to 1 or 2 servers & also your p2pool node need only connect to a handful of servers... you just have to pick the right ones. I have no clue what those are anymore. (ie, change outgoing connections to 0 and handpick the servers to connect to)
ed: i think you can find a VPS for a couple of bucks to run a bitcoind relay on
That's a decent idea about running a VPS for a bitcoind relay. I could stick p2pool on there too while I'm at it.
It still doesn't solve the high share difficulty problem though.
M