I use Photoshop and Gimp. Gimp is freeware, available on most platforms and quite easy to use.
When I create z maps, I create a new layer for each part of the image. A part can be anything, like a mountain, person, tree, arm or whatever that needs to be separated from the others.
I use the freehand and/or the magic wand-thing to select the parts, create the new layers based on these. I fill the part with the shade of gray I think is right.
Finally I merge the visible layers and apply a strong blur to the result. Without the blurring, I often get the "cardboard"-effect.
Hope this helped