I have learned from my experiences with my 4 that sometimes you just have to let them cry. It is hard but it works. I had never allowed my kids to sleep in my bed with me or in my room when they were little. If they were really sick I would sleep downstair with them. So I never had a problem with them wanting me to sleep with them. My fiance use to sleep on his son's floor on a flip-flop chair every night from when his son was 2 until they moved in with us when he was 5. This was hard because he was expected to sleep in his own bed, my son who was 2 at the time shared the room with him. After about a week of him crying here or there and coming into our room a few times a night and us guiding him back to bed he started to go to sleep just fine.
Now I am not saying to let him scream and cry for hours but a little bit of crying won't hurt. Is he scared of something? My daughter was afraid of monsters. I got a bottle of body spray and told her it was special monster spray, I would spray it under the bed, in the closet, etc. She slept just fine then because with the spray it meant no monsters could come in her room.
I takes time so be patient. (Sometimes I think it is harder on us parents then it is on the kids)