We have recently been going through the same thing with my 6 month old. He was sleeping through the night until around 4 months and then off and on until now. Anyway, I was getting so tired and had enough. We let him cry it out for about an hour two nights in a row. It was awful. I cried. My husband just reaffirmed our decision by saying, "If you go in there now, you'll have to start all over." He starts off just babbling and then builds it up. Sometimes he would shriek and then after about an hour, he would just stop. The last two nights he hasn't cried out at all.
With my 2 year old we did the same thing a little younger. It took him 5 nights, but he cried for only 20 minutes and decreased a bit each night. He use to start off crying loud and then wind down. It's weird how different they all are.
I also agree that he should really only be taking 2 naps a day. When our baby takes three naps, he does not go to sleep as well. It's hard because I keep him up so he can see his Dad because he works such long hours and then he wants to take an extra nap.
(I really meant to write a short, quick answer.)