"Best way" will always be subjective.
Cropping is generally done to ensure the image fits the aperture the image is destined to end up.
For example Facebook and Twitter allow you to crop you avatar/profile image and both provide a different aspect ratio for the banner image, should you change it.
This ensures that the image is constrained and is displayed in the most eye-pleasing format, images stretched or contracted to fit an enclosing box look less pleasing.
The grab handles are probably the most common and the opaque view of the full size image allows the user to see the crop in comparison to the full size image and make an informed decision as to the selected they are making.
Depending on what the end result is for the image you are cropping, I believe you could make a couple of UX improvements. One would be to provide cropping buttons that automatically provide a bounding box that fits the size of the container the image will go into. The second would be to allow the user to control the opaque value of the rest of the image, so they can choose how much of the full size image works for them when cropping.