I don’t really know how it would work, but you could install any Linux to a squashfs. That would write all the changes to the ram and forget everything after a reboot
I wouldn’t call it “manual”. It would be trivially easy to script virsh to do what you want with snapshots before booting the VM.
As far as “toggled,” you would just tell it to merge/consolidate your snapshot into the base image when desired.
With KVM you even have the choice of internal or external snapshots. Using external snapshots, you could even make the base image file read-only/immutible to ensure nobody does something foolish and accidentally ruin it.