Corona, 29, arrived in Seville on Thursday evening where he was met by the club’s sporting director, Monchi.
Sevilla will pay Porto a €3.5 million transfer fee plus variables for the winger, sources have told ESPN.
Porto have sanctioned the departure of the player six months before he was to become a free agent.
Corona will put pen to paper on a contract that will keep him with the LaLiga side until June 2025 and he will wear the No. 9 jersey.
The experienced winger joined Porto in 2015 from Dutch side Twente, the outfit he had linked up with two years earlier from Mexican club Monterrey.
He scored 31 goals and had 69 assists in 286 appearances for Porto.
Sevilla coach Julen Lopetegui requested the signing of Corona as he had managed the player during his time at Porto.
Sevilla, meanwhile, take on Betis in a derby in the Copa del Rey last 16 game on Saturday with Corona expected to be in attendance.