The needle is always better! Even if the gun did hurt less, why would you want to risk the chance of being infected with something? Your best bet when getting pierced is to have the piercer use a brand new, sterile needle. Also, with a needle it's easier for the piercer to see exactly where the hole will be placed.
It is better to have your nose pierced with a needle for sterility reasons. A gun cannot be autoclaved and repetitive use can cause infection. There is less risk of infection when using a needle since it can be thrown away should contamination occur. Also, there is less tissue damage.