I had two instances where the preview turned out to be a hassle (crashing, or hard to get it to work).
First was a test project with Core Data. It was a hassle to set up the preview. So much so, that I often skipped it.
Second instance was crashing; I'd created a View but the layout was based on something in UserDefaults, and I forgot about that. So when I created another view that incorporated that first view, I got crashes. So bad, in fact, that a restart of Xcode didn't help. I had to close Xcode, then on the commandline, find and kill the daemon responsible for previews.
Were you able to point to causes of the unreliable previewing in your case?