for zfsonlinux As far as I understand you can currently add and remove striped/mirror devices, but you cannot remove raid-z vdevs (ref: https://github.com/zfsonlinux/zfs/issues/9129) - so there is definitely work left to be done in this area.
as an aside mdadm has surprisingly fantastic features in this area and can reshape pretty much any array type to any other. i was impressed by that.