This is what helped me with Brennan, because I refuse to let him CIO. It takes some time, and patience, but does work. This is from Dr. Sears.
As far as co-sleeping, I don't blame you. DH is out of town this week, and I have put Brennan to bed with me and I LVOE it.
Try the "fade away" strategy. Once your child is used to going to sleep in his own bed with you there, you can work on helping him go to sleep without you there. I call this "fading away." It can be done as quickly or as slowly as you feel is right for your child.
Snuggle to sleep. Lie in bed with your child while he falls asleep. If using a crib mattress, sit on the floor and lean over to snuggle with him. Don't leave until your child is completely asleep. If you try to sneak away early and your child wakes up, he'll realize that you aren't actually falling asleep with him and he may become stressed about this new arrangement. While sitting next to your child's bed, gradually dim the lights. You can even sit there and read your own book using a flashlight or a small book lamp. Once your child gets used to falling asleep with you lying or sitting beside him, you can begin gradually moving yourself away at increasing distances night after night. Begin moving a few feet from your child's bed, then across the room, and then finally out the door. Fading away from your child's dependency on your physical presence is a gradual process, like weaning from the breast. How long it will take depends upon the separation sensitivity of your child.
Move in and out. If your child doesn't want you to leave the room, tell him you have to check the laundry, go get your book, or any other excuse you can come up with to leave the room. Step out of the room for ten seconds, then come right back and sit down again for a while. Over a few weeks, gradually lengthen the time you step out of the room. Use a catch phrase each time you leave, such as "Just one minute" or "I'll be right back." If your child gets anxious during the seconds or minutes you are out of the room, sing a song while you are gone. Leave his door open so he can hear you singing. You will eventually find that you are out of his room more than you are in his room. Periodically check on your child by peeking your head in the door. Your child will eventually fall asleep without your presence.
Whatever sleep strategy you use, be sure to relieve your child's nighttime anxiety by helping him develop a healthy attitude about sleep. You want him to learn that sleep is not only a pleasant state to enter, but a safe one to remain in.