'cp' is sparse aware. Yay. Is that a good thing, actually? If the source has zeroes, I want to write zeroes. Not sure... probably fine. I've been awake too long.
'ddrescue' is special, but again, consistency is key. I don't really care how it's copied. I just question 'should' - there are advantages elsewhere.
edit: My main gist is this - living off the land applies here, too! Whatever option is available. Make the copy, check the checksums. Pull out the bigger gun if necessary.
Never know when you have to rely on some binary that's surviving only in caches. Stuck with a broken system and no live environment in sight.
Just be sure to store the ddrescue state file somewhere persistent.
$ cp /dev/nvme0n1p1 /mnt/my-special-backup
?
I think that feature relies in the concept of a device file, which is a direct reflection of the UNIX trait of everything being a file.
cp's default behaviour for device files also happens to be very stupid.
ddrescue can do the same, but will handle errors better
e2image understands ext2/3/4 filesystems and can copy only the blocks in use, which can really help (though don't know how it works if it encounters an error)