M.R.
My advice is to first rule out any health (physical or emotional) issues. If there aren't any, then read 'Healthy Sleep Habits, Happy Child' by Dr. Marc Weissbluth to learn how to get him back into his own bed. You say he did it for 2 years so you know he is capable. Start perhaps on a Friday night (weekends - you might not have to work, possible extra time to sleep in case you're up all night) and tell him "Tonight we are going to start a new rule. I am your mother and I want to make sure that you grow up happy and healthy, and part of being healthy means falling asleep in your own bed and staying in your own bed at night. Tonight, once I put you in your bed you will need to sleep in your own bed." Continue with your regular night time routine and tell him once it is time for bed, he is to get in bed and fall asleep and stay there all night. If he gets out, quietly and calmly take him back to bed and tuck him in. No talking, no negotiating, no justifying, no screaming or frustration on your part. If he does this at 2:00 AM and you're dead tired, get up and take him back to his bed. You must be consistent with whatever techniques you use. Be patient; it might take a few days of him being a 'jack in the box' (in his bed, out of his bed) but eventually he will learn that you expect him to stay in bed.