It sounds like you really love him...........seldom do we see many couples who would rather leave then ask a man to change. The things you do not like about him are not personality changes and therefor allowing him to change is not something that would be bad.
I mean in the long run what are your key problems:
1) Moving: Yes some people really like where they are from. But when looking at true love most people find this isn't such a big deal after all. The fact is relationships are about sacrifices and growing.
2) His job: OK so I will agree with you at his age he should want something more for himself. But many men look at it like they are happy so why change? At the end of the day if there is no motivation to change careers then why should he. Asking him to think about his future and how his current path is going isn't changing him........its letting him know what you want out of life and allowing him to decide what he wants.
3) A lot of couples do not love........or even like their partners family. But you grin and bear it. As for his sister you can talk to her and let her know how this makes you feel. This is so easily fixed it is like a little burp in life.
The fact is any good relationship takes work, you will NEVER find someone who is perfect in every way and who fits perfectly in your life. If your looking for someone who will fit like a glove with no real work you will be disappointed in life again and again. When you find someone you love and its a good match you sit down and work out the problems and at least give it a try. From your above statements I feel that you really love this guy and he is a good man........but your not willing to work on the issues that bother you. The changes that you want are not anything that would cause resentment, they are normal every day changes that people make for love.
At the end of the day it is about what you want. If you really do not think it will ever go anywhere then being honest with him now is your best route. After 3 years I think he deserves the truth. The problem is by giving him the truth you are setting him up to decide to change regardless........he will likely open his eyes and make the changes in the hopes he will get you back, and in the long run he will not do so. Of course this makes it better for his future relationships so all is not lost.
I would suggest sitting down with him and letting him know what is bothering you and the choices you have made. Do not string him along by using the "I need space" Or "Its me not you" Be honest, let him know the problems. He will likely beg you to give him a chance to change. If your willing then consider it.......if not be firm. Let him know that you do not want him to change for you but for himself and that while you love him you simply do not see a future with him. By being honest with him you prevent him from finding out that you were lying and you prevent yourself from feeling guilty later on in life.
The fact is he is going to be hurt regardless of how you do this, there is no words that are going to make it easier or better for him. 3 years is a good investment in a relationship so be prepared for his pain. Do not brush him off or be rude with him......be gentle and be kind.
I wish you the best with this, and if you need anything please let me know.