There are two strategies I would recommend:
Once you think you fully understand the proof and know it perfectly, write down the statements of the theorem(s) you are trying to memorize (without any proof, just the exact statement) on a piece of paper. After a day or two, try to write the complete proof in your own words from that statement without opening a book or using any reference whatsoever. If you can do that, the proof should stay with you for quite some time... if you cannot, then rinse and repeat. Once you can write a complete proof to a theorem in your own words without using any outside reference, you should know the basic plot of the proof. At that point it is like remember the story of a novel... you might have to concentrate to recall some details, but the basic outline of the story stays with you pretty easily. All too often, I see people work through a proof with their book or notes in front of them and think they "get it," but when pressed they are still using the author or professors words to fill in the gaps they haven't quite mastered.
If that isn't enough, teach the proof to someone else (or go to a classroom and pretend to lecture the proof to imaginary students). If you can stand at a blackboard, and explain the proof in gory detail, you get it. Being able to say things out loud with no notes has a surprisingly positive impact on your ability to remember them. I would be very surprised if you could lecture a complete proof without notes and not remember it for a substantial period.
Those are the two strategies I use anyway. The obvious common feature is making certain you understand the proof on your own terms from start to finish without letting notes or someone else's proof aid you. Putting things into your own words and lecturing them out loud doesn't permit any fuzziness in your own thinking or understanding.
Edit: Two unrelated items came up in the last day or two that made me recall I had answered this question, and I thought they would be worthwhile to add:
First, this question from MO has some great answers from people who are certainly worth listening to.
Second, I just read Moonwalking with Einstein by Joshua Foer (an excerpt of which is here) regarding the year or so he spent training for the US memory championships (which he won). His methods are largely based on Cicero's "method of loci." I'm not sure how easy it would be to adapt them to memorizing theorems, and I don't think that memorizing by this method would improve your understanding, but for most students there is some point in time (starting approximately 2 days before an exam) at which the need to memorize may trump the need to understand. I'd be really curious if anyone does memorize proofs this way (especially if it is beneficial at all mathematically). Certainly, it is put to a quasi-mathematical use, as these methods are what people who memorize vast numbers of digits of $\pi$ rely on (or so I'm led to believe).