OK, I have had some of these problems with my now 4-yr-old, who also isn't the best sleeper in the world. Although we never did any co-sleeping with him, he has often gotten up in the night to bug us, sometimes over and over until we're crazy. Within a few months of moving him to a regular bed at 2 1/2 yrs, he figured out that he could get up and then naps and bedtime went out the window.
We've always had a consistent routine of bath, books, bed, since he was a baby. But despite what the experts say, that just wasn't working anymore. Also, we tried the silent return to sleep - putting him back in bed with no words every time he got up - but honestly, I counted, and he would get up 80+ times!!!!
So our solution after much reading, many headaches, and tons of frustration was to implement "sleep rules." These have been in effect for over a year, and we still need them if you can believe it! We continue with our bedtime routine. If ds follows the sleep rules (stay in bed at bedtime and all night, no getting up), he gets a treat (cookie, piece of candy, whatever). If he doesn't follow the rules, no treat. And we're very strict on no treat, otherwise it doesn't work. We're a little lenient on him getting up maybe 1 time at bedtime, and if he gets up at night but goes right back to sleep, then that's ok. But if he gets up at either time over and over then he forfeits the treat.
What I learned through this very frustrating process is that kids respond differently. Perhaps the silent return to sleep works for some, but for my son it became a game.
Hope this helps!