I have some flats and I love them. It is slightly more time-consuming to fold them, but it is worth it. They fit trimmer than a prefold, too.
The origami fold took some practice, but once you get the hang of it, it's easy. That was the most complicated fold for me. I fold them straight out of the dryer, so when I go to change a diaper, i just grab one already folded.
I have gauze flats and flannel flats. Flannel is softer, but gauze is more absorbant.
You can use a snappi on indian flats and gauze flats. You definitely can't use a snappi on flannel. I use pins though.