Sounds like data was on one pool with a 3 disk mirror setup and nowhere else. This is 'RAID is not a backup' territory. Much better would have been to duplicate the volumes themselves somewhere else (eg using zfs send/receive to a different host) and ideally the contents of those volumes too.
I don't think it's a problem of the data corrupting while on disk, I think the problem has occurred in ram and then been written to disk.