The 19-year-old Moroccan national was arrested Wednesday in the Swiss border town of Kreuzlingen, the Swiss justice ministry said.
German police in the city of Konstanz said they were awaiting his extradition.
The Cologne attacks, committed in a crowd of mostly North African men, shocked Germany and heightened public concern about an influx of migrants, many of them Syrians fleeing their country's civil war.
Prosecutors received more than 1,100 criminal complaints, including over 480 accusations of sexual assault.
The attacks sparked widespread anger, with far-right groups railing against “sex jihadists” and “rapefugees”.
The 19-year-old suspect was arrested on Wednesday after he and a 24-year-old man were allegedly spotted stealing cigarettes and groceries worth €24 ($27) from a supermarket in the frontier city of Konstanz.
An undercover security worker at the shop followed them on foot across the Swiss border, then contacted German police, who in turn alerted the Swiss Border Guard.
“One of the border guards present thought he recognized the (19-year-old) man as an alleged main perpetrator of the events of New Year's Eve in Cologne,” said a German police statement.
“Subsequent verification of his personal details by German authorities revealed that the 19-year-old was indeed subject to a European arrest warrant due to these events issued by Cologne prosecutors.”
The man was questioned Thursday morning by regional authorities in the Swiss canton of Thurgau, and had accepted to be extradited to Germany, the Swiss justice ministry said in a statement sent to AFP.
It would not say when the extradition would take place, but it was expected to happen quickly.
A 33-year-old Moroccan went on trial earlier this month in Duesseldorf accused of sexual assault during New Year's celebrations in that city.
In Cologne, three people were convicted of theft during the year-end celebrations, but police there have admitted that most perpetrators of the sexual attacks may never be caught.