As with everything that involves change and development in children, Di it gradually, when it is the best time for them or the needs of the family.
So with sleeping, first in our bed with us, then in arms, brought into cot layer, then put into cot but held, then in cot and holding hand until asleep, then sitting by the bed, then a bit further away. Always with calm breathing, low lights etc.
Think of how you would teach a child to read, you are teaching them how to sleep alone and it should be one step at a time.
The worst thing to do is be complacent because then they get dependent on a routine and can't cope with change. Routine is good in the whole but not on a micro level. It is equally problematic to make a big sudden change like controlled crying.
Same applies to weaning. Self weaning is a bizarre concept, parents should help their children adapt to change if it benefits the family as a whole. It gives them confidence and makes them feel more secure in themselves. Passing the responsibility of,weaning onto your kids is a cop out I.m.o. but that's another discussion I guess.