My biggest issue with Persist behavior is that "Reset persisted objects" action resets all objects on all layouts - which makes it pretty much unusable in large projects.
There are also lots of bugs when objects with Persist behavior are in hierarchies, restored from save state etc.
What are some of the issues you've run into regarding saves? I'll need to keep an eye out on those in my project as well. I did run into hierarchy issues on my end too, which I had to solve with some failsafes.
Persist feels more and more like it is more trouble than it's worth. I've avoided using it in other projects because of it's monolithic nature, and only did so this time because developing my own tracking methods was previously such a pain that I figured this would be better.