What I do, if a song is easy enough for me to sight-read it, I just play it over and over again. If it's too hard for that, well, I learn it in chunks first until I have enough memory to be able to play it while reading it, and then I play it over and over again until I don't need the sheet music.
Ummm...I learned a cool technique for memorizing lists and poems....it might apply to music....
you memorize the first line first, then play through to the second line, and memorize the second line WITH the first, and then the third WITH the 2nd and 1st, and so on. Typically it means you know the first part of the song/list/poem better than any other part but it works surprisingly fast, and sticks for a while.
How dare you tarnish my double-spaced splendor!
But yeah, I used to do that technique for memorizing speeches and what not, though I don't think I've ever applied it to music. Worth a shot, I say!