A stampede was reported as police forced hundreds of people onto buses.
The migrants had been demanding that the UN refugee agency place them in a country with better conditions.
But the UNHCR said it had no power to guarantee their demands were met.
Thousands of police armed with sticks and shields stormed the small park where the migrants had been camping, at about 0500 (0300 GMT).
"There was a stampede that left 30 of the protesters injured, most of them the elderly and young and they were immediately taken to the hospital where 10 of them died," the interior ministry said.
Twenty-three police officers were wounded, the interior ministry said, accusing migrant leaders of inciting attacks against the police.
"Attempts have been made to convince them to disperse, but to no avail," the ministry statement said.
Witnesses said the migrants, including women and small children, were dragged towards buses as they tried to resist leaving the camp.
"They want to kill us," shouted one protester. "Our demands are legitimate, it is our right to protest here, the only right we have."
Up to 3,000 protesters had been living at the camp since it was set up on 29 September.
Babies have been born in the camp since it was set up in September
The long-running demonstration began after the UNHCR stopped aid to those who had applied and failed to get refugee status.
Since the makeshift camp was set up, several people have died and a number of babies have been born. Many people had been sleeping in the open.
The UNHCR says it has to prioritise help for people genuinely at risk of persecution and cannot solve issues of discrimination and deprivation in Egypt, where unemployment is high.
It believes most of the demonstrators are economic migrants rather than those fleeing persecution, and so do not qualify as refugees.
But many of the protesters argue it is not yet safe to return to Sudan, despite the signing of a peace accord nearly a year ago which ended the 21-year north-south civil war.
A separate conflict in the western region of Darfur has displaced some two million people and left tens of thousands dead