I've had the same problem before. Crush was the first culprit. I run a two-vessel system and after a traditional mash I do a full volume, continuously recirculating sparge and recirc until I hit my numbers. With a bad crush I've had that take as long a 3.5 hours! Double crushing at the LHBS is the easiest fix.
I also discovered that my thermometer was off, so when I thought I was mashing at 152F I was really over 160F. I switched to a digital thermometer and haven't had any problems since.