How can I assign a custom icon from a graphic file to another file in Lion?
When Preview fails, I turn to the Web Browser, master of all filetypes.

Open the image in Safari, Chrome, or Firefox by dragging it to the app's icon or using
File-> Open.

Right click on the image and choose Copy Image (be careful not to use Copy Image URL or Copy Image Location).

From there, use the standard procedure of pasting into the Get Info window.

If the image you want to use is a PDF, you'll need to create a rasterized version that you can copy from the web browser. You can still use Preview for this: open the PDF, choose File-> Export and set the format to PNG. You can open the exported version and copy that.