While there is some luck involved in finding a share from a getwork, efficiency should never be below 50% after a few dozen getworks have been processed, unless the miner is grabbing significantly more work than it can use.
With the amount of longpolls due to merged mining, my cgminer (~30-60MH/s) reports an efficiency of ~10%-20%. No changes to default queue size, etc.
Is that a recent number (lots of issues today due to backend)? I don't see how your efficiency could possible be -that- low unless you're under 10 MH/s.