There are many ways of changing the color of an object in photoshop. I will present you what must be the best 6 methods (in my oppinion).
We'll asume that the object is mostly one color (eg: you can't change the "color" of a rainbow)
Here is the original image:
1. HUE/SATURATION for specific colors using the "Edit" feature
Duplicate the layer.
Open Image->Adjustments->Hue/Saturation (CTRL+U) .
From the Edit menu select the color range that is the closest to your object color.
First move the bottom sliders to select the color range you want to modify, then simply move the Hue slider to change your object's color.
Using the eraser tool erase all the unnecessary color-changed parts.
I've simply moved the saturation slider to the left to achieve this result:
2. Using Select->Color Range
WARNING: This method doesn't work so well in images where the object's color is the same as the background's color. It won't work on this photo:
Go to Select->Color Range and from there click on diffrent parts of your object to pick a color with the eydropper tool. Make sure you've selected the "Add to sample" eyedropper.
Move the fuzziness slider until the whole object appears to be white in that black&white thumbnail area.
Press OK, then (having your image layer selected) press CTRL+J to duplicate the selected area. Erase all the unwanted parts using the Eraser Tool(E) or the Polygonal Lasso Tool(L). You may have to go back to your image layer, use again Select->Color Range... duplicate again the selection and merge it with the previous created one (do this until the whole object is copied into a new layer).
With the object isolated onto his own layer you can simply move the Hue slider (CTRL+U) to change the color.
3. Using the Brush Tool(B).
Select the Brush Tool(B) and change the Opacity to 100% and Flow to 30%. Choose your desired color as the foreground color.
Create a new layer and start brushing over your object until you fill it entirely. Erase the unwanted parts using the Eraser Tool(E).
4. Erasing after Hue change.
Duplicate the curent layer. Go to Image->Adjustments->Hue/Saturation (CTRL+U) and move the HUE slider until the object has your desired color. Press OK and select the Eraser Tool(E). Change this tool's Opacity to 100% and flow to 45%. Erase the background.
5. Using "Replace color"
The same warning from the "Color Range" method applies.
This method doesn't work so well on the image I've chosen because the range of reds in the original picture is very large.
Duplicate your image layer (CTRL+J)
Open Image->Adjustments->Replace Color.
This tool works the same way as Select->Color Range does but instead of selecting the color , you guessed it, it replaces it with the one you've chosen in the bottom-right corner.
You may need to use Replace Color several times.
After you're done with replacing the color put this layer's bleding mode on Color.
6. Using the Pen Tool(P)
Most of the methods presented above don't work very well if your object is a color close to other colors from the background.
This one is by far the most accurate method but also the slowest.
Select the Pen Tool(P) and draw a shape that covers the entire object. Then again using the pen tool draw other shapes on that parts of the object that musn't be colored. Use the "Exclude overlapping shape areas" from the Pen Tool bar (just under the top menu bar).
There's no "best method" for recoloring an object. Each image may require a diffrent method so the best "one" is to learn as many as you can. Knowing many methods for recoloring an object will make your work much easier, faster and the outcome will be better.
NOTE: Some methods presented above can also be used for extracting an object from the background.