If you use Photoshop CS it might be easier with the History Brush - though there's not as much control. Simply convert to B&W and then use the History Brush to selectively "undo" back the color back.
Or use 2 layers. Duplicate the background layer and convert that layer to B&W. Then use the Eraser to selectively erase the B&W so the color layer shows through. This method, along with the Hstory Brush, can be very selective.
Or use 3 layers... Dupe the BG layer, convert it to B&W, then dupe that layer and hide it. This leaves you with an untouched B&W layer so if you erase too much then you can Clone from the hidden B&W layer back to the "working" B&W layer.
There's probably a dozen ways to do this.... Masking does allow the most control and a great safety net if you mess up. Especially if you use a Reveal All mask using Overlay mode and then very selectively paint the color back in... But that's getting fairly involved.