Here's how it's done in PSP according to a recent forum posting:
A very simple method is to make a duplicate image (layer) of your photo...In PSP 8, activate the top layer and go to ADJUST -> Hue and saturation -> Hue/Saturation/Lightness and move the left slider all the way down to make a B&W image. You now have a B&W image on top of the color image. Make the top image active and use the ERASE tool to remove the B&W data from the areas that you want to be colored.You can then save the file "as-is" in the PSP file format or flatten (merge) the layers and save it as a JPG file.
The above steps can also be followed in Photoshop. The wording is slightly different, but you go to Layer -> Duplicate layer (accept the default background layer name) and then IMAGE -> Adjust -> Hue/saturation and then follow the rest of the above steps. (Tip: use a small brush to "color" the outside edge and a larger brush for the inside.)
It sounds more complicated than it really is. I tried it out on this sunflower photo from a couple of years ago.