San Francisco sent third- and fourth-round 2020 draft picks to Denver, who also included a 2020 fifth-round pick with Sanders in the deal, which is pending a physical.
"Obviously it's hard any time you break up,'' Sanders told KCNC-TV as he left the Broncos' facility as the team's practice began. " ... We had a great run out here in Denver, lot of great teams.''
Sanders added he was ready to "get out to San Fran and showcase my talents.''
Broncos general manager John Elway told reporters in a conference call Tuesday that Sanders had requested that the team trade him.
"When we look at it, Emmanuel had issues and we had issues and that's why it was a good time to go different directions, for Emmanuel to go a different direction and for us to go a different direction," he said.
Sanders, 32, has 30 catches for 367 yards and two touchdowns in seven games this season, his sixth with the Broncos (2-5).
The two-time Pro Bowler suffered a torn left Achilles in practice last December and also had surgery on his right ankle in January, but he made a remarkable recovery and was a full participant in training camp workouts by the middle of August.
Sanders has 7,391 receiving yards and 39 touchdown catches in 134 career games.
Graziano: Sanders is a rental for 49ers
Dan Graziano breaks down why the 49ers traded for Emmanuel Sanders.
Sanders joined the Broncos in their 2014 free-agency binge that also included linebacker DeMarcus Ware, cornerback Aqib Talib and safety T.J. Ward. However, he had grown increasingly frustrated with the Broncos' losing ways over the past three seasons as well as his decreasing targets this season, a long drop from when he referred to the Peyton Manning-led offense as "wide receiver heaven.''
Sanders had 1,000-yard receiving seasons in 2014, 2015 and 2016, but dropped to 555 yards in 2017 due to an ankle injury and finished with 71 catches for 868 yards last year when he suffered a torn Achilles in December.
Sanders had just one reception each game in Weeks 5 and 6 before he finished with five catches for 60 yards in the blowout loss to the Chiefs last Thursday night. Sanders has missed some practice time this season with knee trouble and did not play in the second half of the Broncos' win over the Tennessee Titans Oct. 13 because he had aggravated the injury.
"I think eventually with what happened after the Tennessee game and where we were and the opportunity to, with the value of what we're getting for him, it was the best thing for our football team to trade Emmanuel,'' Elway said.
Elway would not elaborate on what happened between Sanders and the Broncos after the game against the Titans.
Sanders played the first half against Tennessee, had one catch for zero yards and three targets overall after having one target and one catch for nine yards on one target the previous week against the Chargers. He did not play the second half against Titans with an announced knee injury. He did play last Thursday night against the Chiefs and finished with 60 yards on five catches.
The Broncos have former 49ers quarterbacks coach Rich Scangarello calling plays as Denver's offensive coordinator, so Sanders will work in a similar playbook. Sanders said he had briefly spoken to Scangarello Tuesday after he was told of the trade.
"Emmanuel is a passionate football player whose toughness and competitive nature have helped him become a dynamic playmaker in this league," 49ers general manager John Lynch said in a statement. "He possesses a number of qualities, on and off the field, that we value in our players. His familiarity in a similar offensive system will allow for a quick transition. We are excited to add Emmanuel to our roster and look forward to seeing him positively impact our team."
Elway said wide receiver Tim Patrick, currently on injured reserve, would come back to the roster after the Broncos' Week 10 bye.
ESPN's Jeff Legwold contributed to this report.