I think this type of play is based more on advantage/disadvantage. Contact on a dunk/layup usually doesn't negate an advantage. As a former player, I am fine with some contact when I am around the basket.
There are instances when there is contact around the head, or other contact where fouls are called on dunk/layup attempts. One general rule of thumb is that if the player cannot land safely. I also try to observe the launch angle of both players. Did the defense jump straight up or into the offense? These are just a couple of factors that I evaluate when observing plays near the basket.
As for 3 pt shots, contact on a shooter has a more significant impact on the result, hence an obvious advantage is gained in most cases.
Remember that the Rules of Basketball allow contact and the intent of the Rules is to penalize contact that negates advantage.
I think that as shots are taken farther away from the basket and there is contact, the more this contact impacts a shooter.
From the sound of your post, I am guessing you are a player. I would encourage you to work harder to finish at the basket, go strong or don't go