I have been using DD for a long time, specify the block size etc, then pipe it into PV if you like, and there you have it
But you can use PV directly
So let us assume we want to put sda on sdb (See how direction arrows are pointing out of sda in the command)
pv < /dev/sda > /dev/sdb
and you are done, no need for DD, PV is faster because it checks the speed on both disks first, and there you have it
At first it will be much faster than you anticipated, that is because it is buffering in RAM, once you run out of ram, the speed will drop back, even if you dont run out of ram, there will be time for the sync operation
For example, while cloning my 40GB SSD onto an 80GB western digital, at first the speed was 180MB/s, once i ran out of ram, it dropped to 50MB/s