I'd first want to add a way to export and import mapscreen blocks by (start_id, w, h). This is a bit tricky, and could quite easily lead to severe instability, or unintuitive. The .map format is a bloody disaster, but thankfully future-proof; however any errors (overflow or underflow) in writing a single mapscreen will result in a vector container crash due to using vectors as storage for combos.
At some point, a prior dev changed them from fixed arrays sized [176] to a scaling vector based on screen dimensions, and shuld we ever try to implement varying screen dimensions, a block copy would pose other, interesting technical problems, but even now, a tiny error in handling vector contents will throw a vector exception.
FWIW, when I tried to rewrite the map export, I had my share of these. It's very ugly. Consider copying a 3x3 plock, selecting a 2x2 or 4x4 (or other size mismatch), then trying to paste the buffer contents. At the least, this would need block size protection (error on any mismatch); and a rather unpleasant additional change to the map selection panel.
I'll think about it, but it isn't something that I'd be in a hurry to add. Once I have .zscreen done as a format, then I can look at using that as a base for this type of utility.