Generally, the key is accuracy. You can't kill in one hit if you hit the arms or legs, and you're much less likely to hit the head or body if you have low skill. If you have high skill and land a solid hit, most high end weapons kill in one hit unless you get an unlucky damage roll.
Comparing straight damage, swords do more damage than guns if you have high strength, since the strength modifies your damage; otherwise, assault rifles do the most damage. Assault rifles do more base damage per shot than swords, and can hit up to three times. The M4 is the most accurate; M16 and AK-47 are the most damaging. I would prefer the M4 for low skill people, since the accuracy benefit will probably increase your overall effectiveness, and both can do enough damage to kill in one shot anyway. The SMG is even more accurate for low skill people, but its accuracy drops off rapidly with each successive shot in the burst, and its small ammo capacity means you'll reload more often. It's pretty underpowered.
The biggest advantage of swords over guns is that when you get good with them, they routinely lop off limbs. Most guns don't do that. Swords are a melee weapon though, so they incur a possibility of being deflected and countered. Deknegt mentioned some guns hitting more than one target with their three attacks per round; that's true in 3.09, though it was cut in later releases. Still, three hits on the same target is nothing to shake a sword at.
Overall, I think swords edge out as the most deadly weapons in the end game, once your stats are very high. Severing limbs is just too useful, and the strength bonus to damage is pretty huge. Guns are great weapons at any stage though, and you're less likely to get killed when training with them.