Jadon Sancho struck the winner as Dortmund took the Revierderby spoils for the first time in three years.