Hi J.!
I loved Healthy Sleep Habits, Happy Child. It does encourage CIO, but he does also address other methods of soothing to sleep (he refers to them as Method A and Method B). He really focuses on a healthy routine for naps/nighttime sleep and how much time babies can spend awake before they become overstimulated (making sleep difficult). Personally, we started with soothing our child to sleep, but when it was taking up to 2 hours for her to fall asleep at night, that wasn't good for us as parents or as a couple! We did kind of the Ferber thing - gradual extinction, some would call it. We continued to go in at regulated intervals to pat her so she would know she wasn't alone. Whatever you decide to do, just be consistent, that is the real key. :) There are many different methods, and not one of them is right or wrong, it's just what works for you and your little one. I do want to point out one thing...people who are very against CIO often discuss the elevated heart rate and agitation that comes. Yes, my daughter was definitely agitated when she cried...but it was 2 nights of crying for a total of less than 45 minutes. She was pretty quick, but the average is 3-4 days. She still definitely knew we loved her, and we made a big deal about getting her up with great big smiles when it was morning. She goes to sleep very easily now after a little playing around in her crib. She often fusses before bed now at 16 months...but because she's anxious to get in bed with her blankie! ;)
Remember, kids are resiliant! if you try a method and it doesn't work, change it! just be consistent with whatever you are trying out. They respond to consistency just like we do.
Good job mama, for trying to do what's best for your babe's sleep habits!
~R.
PS - what did you do for your 3 year old? Are you happy with how she is sleeping now? Yes, it is true that every child is different by nature, but "nurture" plays a part too. If you are pleased with her sleep now, maybe try something similar with your son...just a thought. If you aren't, maybe change it up! :)