ddrescue (or gddrescue) is a great version if you have a sick drive. It’ll try to copy the good areas first then go back to hammer on the sick areas.
Not perfect as it doesn’t know about the file system so it tries to copy the entire surface, but generally a good tool.
Supplementary question: what’s the difference with kbin in this regard? Or is it dead.