You want to Convert to the profile, not assign. Converting will save you all sorts of aggravation, and in your case, time. Make sure you do it on a copy of the file and not your original.
Unless you're using a third-party print service, or are dealing with an unusually difficult-to-print image, you don't want to do either. What you want to do is turn off all color management in your print driver settings (look for "No Color Adjustment") and then use Photoshop's Print With Perview dialog to print. Set the color management to "Let Photoshop Manage Colors" if it is an option. Set Source Space to Document, and the Destination Space to your printer profile. The color conversion will be done on the fly without requiring you to change your document color profile.
Keep in mind that a printer profile is only valid for one printer, one set of printer settings, and one paper type. If you change any of these, the profile will not work properly.
The difference between assigning and converting profiles is fairly simple. RGB color numbers have no intrinsic color values; they are only meaningful in the context of a profile, which is a sort of conversion table between RGB values and actual colors. If you assign a different profile to an image, the RGB color values are not altered; all you're doing is changing to a different lookup table that converts between RGB values and colors, so that while RGB values in the image are not changed, the colors they convert to are changed, and the appearance of the file in Photoshop will be altered. Converting to a profile is exactly the opposite; when the profile is changed the RGB color values are altered, but the colors they convert to through the profile are not, and therefore the appearance of the image will not change in a color-managed application like Photoshop.
The only time you should ever assign a profile is when there is no profile attached to a file, or the attached profile is not the correct one. That shouild be a rare thing if you're processing your own work or files from color-management-savvy third parties. The only times you should convert to a different profile is if you are preparing an image for web display (in which case you convert to the sRGB profile), printing an image with highly saturated colors and need every last bit of the printers gamut (range of printeable colors) to print the file well (in which case you convert to the appropriate printer profile), or when sending a file to a third party that requires submissions converted to a particular profile, say a printer profile for a specific press that will be used to print the image. As pfigen correctly pointed out, this should always be done on a copy, not the original file. Your main working copy of the image (the edited master) should be in a standard RGB editing space like Adobe RGB or Prophoto.