It depends. The actual poke doesn't usually hurt, unless I happen to nick a nerve or vein. I've learned what areas to avoid. If I feel the needle touching one of those spots (the nerves are 'crunchy' and hard, the veins less so but they have their own sensation), I'll pull the needle out, re-swab the area, and try a different spot.
Occasionally I'll get 'sore spots' or lumps that can ache for a few days after a shot. Once it was especially painful and it took weeks to heal. I thought it was an abscess (went to the doctor), but it turned out that it was only bruising in the muscle, probably the result of piercing a vein. I inject in my upper thighs.
I haven't had painful lumps like that happen for a long time and tips for avoiding it are: rotate injection sites (I have 4 and inject weekly, so each spot gets a month to heal), relax the muscle before a shot (shower, massage the area, warm it up somehow), extend your leg straight out and make sure it is supported (avoid accidental muscle contractions while the needle is in, a tip from my nurse), inject very slowly, gently massage the injection site after the shot. I also massage some vitamin E oil on the injection site after a shot, a tip from a diabetic guy I knew who injected himself multiple times a day; his doctor said it could help with the eventual buildup of scar tissue and I figured it wouldn't hurt. It provides good lubrication for the massage.