Is it possible to repair a ZFS snapshot by re-sending it?

ZFS snapshot can not be "repaired". You can re-send it, but you can not simply correct a single corrupted block if your pool has no redundancy.

For data bit-rot, one should be able to do a manual low-level overwrite of the corrupted data (ie: rewriting raw blocks to match the stored checksum), but I never tried it. Metadata bit-rot generally means something very wrong happened because, even on single-disk pools, ZFS keeps multiple copies of all metadata by default.

As a side note, such "snapshot repair" method was discussed on the project's github issue by it was never implemented as far I know.