Ya mainly 2-3%, any firmware that asks for more should be avoided, and I don't think it "periodically changes", at least not for Vnish, they claim "Parallel mining"
I used 'periodically changes' as a simple way to describe it. They use a stratum
security hole 'feature' called xnsub to seamlessly redirect where some shares are received from/sent to (DevPool) without actually resetting/restarting a miner like changing a pool would do. The effect of using xnsub in that manner does not show up on any miner GUI or monitoring software as all it knows is that the miner is hashing at x speed.
Aside from dev fees, the main use of xnsub is to allow rental places like NiceHash to have (rented) miners point to wherever the person renting it from them wants without forcing the hardware to constantly restart. Another example would be if you point a SHA256 miner at Slush and let them mine other SHA256 coins as well as
BTC, again, xnsub lets them switch the work between different coins w/o restarting cgminer.
As to modern miners all using custom PSU's - ja I see that as a major 'gotcha'. Aside from the higher efficiency gained by eliminating secondary on-board Vcore regulators, the only other advantage to them is eliminating the field of PCIe power connectors that can often burn up by replacing the power connections to hash boards with solid bus bars. I'm rather surprised that no PSU manufacturer has stepped up to address that point. After all, it is simply a programmable PSU that either responds to a 0-5v signal or I2C command to set the output according to what the controller tells it to put out. All the PSU maker needs to know is the input commands used, expected voltage output range and max wattage.
edit: as Mikey pointed out later, it was (probably) xnsub - not #xnonce I was thinking of. Corrected that. Thing is, #xnonce does come up on searches as being similar crypto function. Move further discussion on this to
https://bitcointalk.org/index.php?topic=5312770.msg56205843#msg56205843 which Mikey started up as we are getting OT here...