Roach attended North Shore High School. He was considered a 4-star prospect and ranked the 21st best shooting guard and 71st overall prospect in his high school class. Roach committed to Texas, spurning offers from California and Wichita State. He was also a track and field star at North Shore, reaching 50 feet, 8 inches in the triple jump.
Roach was named to the Big 12 Conference All-Newcomer Team. Roach averaged 7.5 points per game as a freshman. He was suspended for the first game of his sophomore year. As a sophomore, Roach averaged 9.9 points per game on an 11-22 team. Roach was an important contributor for Texas as a junior, taking an important role on offense with guard Andrew Jones lost for much of the season with leukemia. Roach had his own health issues to deal with, playing most of the conference season with a broken hand. He averaged 12.3 points, 3.7 rebounds, 3.6 assists, and 1.5 steals per game. Roach improved his shooting to 43.8 percent from the field and 36.4 percent from three and was an Honorable Mention All-Big 12 selection. Roach lost a tooth in a Big 12 tournament matchup with Iowa State but continued to play and finished with 9 points, 6 rebounds and a team-high 7 assists in the win. In the NCAA Tournament, Roach scored a career-high 26 points in an 87-83 overtime loss to seventh-seeded Nevada. After the season Roach flirted with the NBA draft, but ultimately decided to come back to Texas.
He suffered a torn meniscus in his right knee on August 2, 2018 at the CP3 Elite Guard Camp which required surgery. Roach was suspended for the team's season opener for violating team rules. He was suspended again for violating team rules on February 22, 2019. He was sidelined for five games before returning in the Big 12 Tournament against Kansas on March 14. Roach averaged 14.6 points, 4.3 rebounds, 3.2 assists and 1.2 steals per game as a senior.
After going undrafted in the 2019 NBA draft, Roach joined the Charlotte Hornets for the 2019 NBA Summer League. He did not play in a game for them.
On July 27, 2019, Roach signed his first professional contract with BC Körmend of the NB I/A and the FIBA Europe Cup. However, he left the team without appearing in a game. He was later named to the training camp roster for the Rio Grande Valley Vipers of the NBA G League. On November 30, Roach finished with 22 points, five rebounds, four assists, two blocks and two steals in a win over the South Bay Lakers.
On January 20, 2021, Roach signed with the Wellington Saints for the 2021 New Zealand NBL season.