I teach rolls as follows:
1. Start in the standard kneeling position (the down knee 90 degrees to the direction of travel, the up knee towards the diretion of travel, butt and weight back and down just above the back foot, front foot a comfortable distance from the back foot).
2. Put your front hand on the ground palm down, fingers ponting inward towards the back foot (this should twist your arm a little bit sort of like you are doing sankyo on yourself; ideally it should create a slight curve in your arm). The arm should be inside the knee.
3. THIS IS THE IMPORTANT STEP. Put your shoulder on the ground. Do not roll yet. Ideally, put it on the ground directly in front of the fingers and as far forward as it will go (which should be exactly the length of your arm). In order to this comfortably, you will want to use your other arm and your front knee for balance. Do not roll yet.
4. Now that your shoulder is on the ground, you no longer have anywhere to fall to or any way to hurt yourself. Now it is safe to roll by allowing your legs to pass above the shoulder.
In my experience of teaching people to roll, everyone who tries to do it this way manages to do a painless roll within minutes.
To do a standing roll, all you need to do is follow exaclty the same steps as before.
1. Take a hanmi stance.
2. Put your fingers on the ground
3. Put your shoulder on the ground. Do not roll.
4. Now that your should is on the ground, go ahead and roll.