There is another factor that I think I have picked up that contributes to the loss of income with algo switching on zpool and it relates to the delay between when a new hash is solved and when it becomes "immature". If there are several "new" hashes and the miner switches way to a new algo you lose some of the income from those shares when they switch to immature. This issue is easily observable. simply mine a coin like x17 and when you see 4 or 5 new shares sitting in the pool stop your miner and see how many of those hashes you get paid for.
biggest factor is when sh** exchange reports sh** price for a sh**coin