> Will do the same thing, and give an accurate % complete progress bar.
I'm not sure that's true, last time I tried to do:
pv < /dev/zero > /dev/sda
To zero a drive, it correctly printed out the total size of the output block device. Perhaps it also does this type of scanning on stdin, if possible.
That said, looking at the main page, it appears that this functionality is only available for the output end:
Note that if the input size cannot be calculated, and the output is a block device, then the size of the block device will be used and pv will automatically stop at that size as if -S had been given. (http://www.ivarch.com/programs/quickref/pv.shtml)