I doubt snapshots in your workflow are quite as easy and fast as:
qemu-img create -f qcow2 -b base-image.qcow2 -F qcow2 snapshot.qcow2
This takes mere milliseconds. The great thing about this is that snapshots are chainable, so you can create snapshots based on snapshots, and easily go back and forth to boot whatever version you want. Each snapshot only takes up the space of the data written to it, so they're like layers in an OCI image.The qcow2 format is quite ingenious and one of my favorite things about working with QEMU. I wish its CLI would be simpler and more intuitive, so for more advanced scenarios I prefer working with libvirt/virt-manager/Proxmox.