Method 1:
The faster (non destructive) way:
1) create a saturation mask layer, desaturate everything. (2 clicks)
2) create a layer mask (1 click)
3) On the layer mask, press B(rush) and paint black the places you want colour.
3.5) Alternatively fill everything with black, and paint white the places you don't want colour.
benefits of this way is that if u paint wrongly, can just press X switch colours black and white, and paint back the parts u want colour or not. U can hide the saturation layer if it suddenly hits you to see the full colour image. And allows you to add a bit of colour back if you find that BW is tooo dull. (saturation mask is just a layer of setting, can re-edit anytime)
Trust me, learn masking.. once you learn masking, you will wonder how you ever lived without it. History brush is good, but if u notice a screw up done about 50 steps ago, you'll haf to undo everything. (which happens to me but frustration is avoided coz of using masks)
Method 2:
If it's a relatively "clean" image with distinct colours of the foreground, then u can isolate the foreground using either extract, magnetic lasso, or select using colour range.
After selection, use select=>feather, 2, so that your selected image won't be so hard edged. Then press CONTROL + J (to copy the the selected image to a new layer). Desaturate the bottom layer.
To use methods 1 or 2, depends on the complexity of your image.
if the shape is small, and easily painted, I'll go with 1.
if it's like a single unique colour shape, colour range selection will get me my guy extracted in about 5 seconds. Sometimes I'll extract the background then invert the selection.
If it's like irregular shape, with clear edge (but containing many different colours), maybe i'll consider using a magnetic lasso (along with other tools) to select and extract the irregular shape.
Sometimes, I use a combination of all 3 and more.
In photoshop, there are always more than a few ways to do the same thing. if u can't learn them all, learn just the 1 which is faster for you.