Approaching the last year of his contract, on July 2, 2012, Roy was traded by the Sabres to the Dallas Stars in exchange for Steve Ott and Adam Pardy. Due to the effect of the 2012–13 NHL lock-out, Roy played in just 30 games with the Stars in the 2012–13 season before, on April 2, 2013, he was traded to the Vancouver Canucks in exchange for prospect Kevin Connauton and a second-round draft pick in 2013. Roy registered an assist in his first game as a Canuck, against the Edmonton Oilers.