The 29-year-old has signed a four-year contract with the Potters. The move could earn Albion up to £6m with performance based add-ons.
"James is a player I've admired for a long time. He has real quality with his left foot and is an old-fashioned winger," Stoke manager Gary Rowett told the club's website.
"I've spoken to lads who have played with him before, the likes of Darren Fletcher, and they have all said that he's a great guy to have around the dressing room and he's really, really popular with his team-mates."