I second the recommendation for a calm, consistent bedtime routine in helping set the stage for an easier time parenting your 3 yr old to sleep. We have a 3.5 yr old daughter, and until just recently, one of us has always snuggled with her after stories until she was asleep - partly because she wanted & needed that closeness and we were happy to provide it, and partly because parenting can be just exhausting so at times we succombed to that opportunity to rest, too (sometimes we'd joke that she'd put one of us to sleep instead of our putting her to sleep!). ;)
However, at some point for us it started being a bit frustrating, too (uh, when her little brother was born earlier this year). So something had to change.
DISCLAIMER: As you know, parenting is never one-size-fits-all, so I share what worked for us. It may not work for you, or it may spark you to think of something else that will. Regardless, I hope your family is able to find a win-win solution.
OK, so we already had a good bedtime routine in place. My husband and I do not like the cry-it-out method because it just doesn't feel right for our family and we feel there's a more compassionate, gradual way (if we were in our daughter's position, we wouldn't want to have to cry it out). So we brainstormed and read a few different opinions/suggestions, and I *wish* I could remember where this came from so I could give proper credit, but what worked for us was to identify what need of hers wasn't being met such that she needed one of us to lay down with her. For her, she needed to know/feel that we're close by, able to get to her quickly if she would need us for anything, and she did not like to feel super alone in a dark room with the door closed.
So, here's what our routine looks like now:
1) Bedtime routine as normal (pjs on, brush teeth, use toilet, hop in bed for stories, then lights out with 3-5 minutes of tucking in/cuddling/snuggling)...
2) The last step is hugs & kisses with mom or dad getting up from the bed. We remind her that we're right downstairs doing something concrete (so she can relate to it easily) and that one of us will be up right after that to check on her, and then WE FOLLOW THROUGH - usually she's asleep by the 2nd check-in.
An example of how this sounds: "Sleep tight, sweetie. We love you so much and I'll check in on you soon. I am going downstairs now to empty the dishwasher (or switch the laundry, or nurse your little brother), and as soon as I'm done I'm done, I will come right back up and check on you." She is fine with this for the majority of nights, but on other nights she might be upset (usually when she's overtired or not feeling well) and says, "But I want a live person to lay with me!" I empathize with her, and remind her that we've snuggled a little bit already, that I'm thinking of her while I'm doing (laundry, dishes, nursing brother), will check on her very soon, and that I am listening for her on the monitor. And on these nights, I try to make my first "check in" sooner, which seems to help. Also, we're not opposed to laying with her until she's asleep for a few nights a week, but that's the exception now as opposed to the rule. I just can't attend to her baby brother's needs if I lay with her, but I do try to support her need for not feeling alone (by checking in, reassuring her that I am thinking of/listening for her).
* Oh, and we leave the door 1/2 open, and sometimes a nightlight (if she asks).
Best of luck with rearranging the routine so that it's working better for all of you - hang in there! :)