Fastest method for block updates?

I was wondering, is it better to use snapshots for moving a bunch of blocks over and over, or getBlock and setBlock?

EDIT: Snapshots make it much easier to copy things like sign data & inventory data