Local residents say the woman was targeted because of her brother's long-forgotten secret affair with a woman from the assailants' family.
The incident, which came to light on Thursday when the media got wind of it, took place last week near the remote town of Chaudhwan, some 80km (50 miles) west of Dera Ismail Khan city in Khyber Pakhtunkhwa province.
Police have arrested eight men and are searching for a ninth.
Witnesses say the girl was attacked in broad daylight when she went to fetch water from a pond.
"I and my [female] cousins were returning after filling our pitchers when these men caught up with us," she told local journalists.
"They shoved me around, and I fell down. Then they cut my clothes with scissors. One of my cousins tried to cover me with her dupatta [a long scarf], but they snatched it away."
She tried to escape and ran into a nearby house, but they followed her.
"I ducked beside a cot and tried to hold on to it but they dragged me out. A neighbour tried to intervene but they threatened him with their guns."
Locals and the police say her ordeal continued for nearly an hour, after which the men let her go.
"My uncle's house was close by, so I ran there and got into some clothes," she said.
The girl outlined the attack to local media in the presence of her mother and cousins. Her mother, a widow, said she ran out to look for her daughter the moment she heard what had happened.
"In the street, I saw some of the armed men standing near a wall, and I asked them what they had done to my daughter. Instead of answering, they asked me where my son was. They were mocking me."
A little further down the street, she said she found a sleeve torn from her daughter's shirt.
A local source who asked not to be named told the BBC the assailants' family had secretly held a grudge against the girl's family over an incident that happened three years ago.
"[The girl's] brother was accused back then of gifting a mobile phone to one of the daughters of a local villager... which the pair used for their secret liaison."
The revelation caused offence to this girl's family, and the community called for a council of elders to resolve the issue before it led to bloodshed.
The council ordered the young man to pay a fine of 300,000 rupees (roughly $3,000; £2,300) which he did - and the matter was closed.
"But it now appears that [the girl's] family did not forget the insult and wanted to get even," the BBC's source said.
As is often the case in so-called "honour" disputes in South Asia, the punishment for that insult has been borne by an innocent girl.
Photo source BBC. Caption: The 16-year-old girl (far left), with her mother and cousins - their faces have been blurred to preserve their anonymity