Police were interviewing Lawrence Capener, 24, in the attack Sunday morning at St. Jude Thaddeus Parish, the Albuquerque Journal reported.
Police spokesman Rob Gibbs told the newspaper all the victims were expected to survive.
Witnesses said Capener yelled "fake preacher!" as he charged the choir just after communion and began stabbing choir members, KOAT-TV, Albuquerque, reported.
"I looked up, and I saw a young man with a very scary look in his eyes -- fury, anger, hatred," choir member Brenda Baca King said. "He had a knife and was attacking our soloist, and our flutist tried to protect him and got stabbed also."
Officials said Capener was not a parishioner at the church.
Gibbs said several people rushed the suspect and held him until police arrived.
"I noticed the suspect run up and, basically, start attacking the choir, so I ran over there immediately to go do what I could do to stop it," witness Sider Esquibel told KOAT.
"This is the first time in my 30 years serving as archbishop in the Archdiocese of Santa Fe and as Bishop of Lubbock, that anything like this has occurred. I pray for all who have been harmed, their families, the parishioners and that nothing like this will ever happen again," Archbishop Michael Sheehan said.
The Albuquerque Fire Department initially said a firefighter was among the wounded, but then said it could not confirm the earlier report.
Attkisson leaves CBS News, reportedly over network's 'liberal bias'
Ohio bar shooting arrested, charged with murder