Hey guy I found a solution for you.
I had the same problem with my iPhone 4 and I tried right below solution, check it out.
First of all, I tried all the solutions for the iPhone written other websites but It didn't work properly. Weak vibration. I even changed the vibrator with new one, but it didn't work. I tried my old vibrator with the other iPhone of my wife, it works in there perfectly. I think something wrong with the connection area of the vibrator. Problem is the phone.
Then I decided to solve it by myself. I open back cover of iPhone and first removed battery then the vibrator. And check if there is anything stucking the vibrator head then try to remove the ringer button from inside, clean around, and put everything back like vibrator and the battery. Finally you good to go. Vibration working like new one.
All of this try worked for me. I hope it works for you too. Give it a try and feedback. Thanks, good luck.