I swaddled Tyler until around 8 mo, then switched to wrapping his legs only. At 21 mo, that's still how he likes to nap! Around 4 mo or so, we switched to an Aussie swaddle with a bedsheet cut in half. I could wrap him more tightly and he couldn't break out of it, and there was no way he could roll anywhere. Instructions are at the top of the General Sleep Issues forum. It takes some practice, but I swear by it!
4 mo was a rough time sleepwise, like the other gals said. Hang in there, it should even out!