Trinket out of one the stunlock early, Scream immediately, drop Pain and VT on them. Do not use anything else that has a cooldown - Plauge, VE, whatever.
As soon as they're out of Scream, they'll most likely CoS and come after you again. Survive for the duration by ensuring Shield and Inner Fire are up.
When CoS drops, get Pain, VE, Plauge, and hopefully VT on them. You can attempt to kite them a bit, but it rarely works against a good rogue - either you'll end up backstabbed or, more likely, Deadly Throw daze + Silenced. Just stand there and take it. If Martyrdom procs, use that to get off Flays, else sick with Blasts and refreshing Shield/Inner Fire/VT. If you get kicked, use the opportunity to refresh whatever needs refreshing, and if Martyrdom just proc'd, getting a Gheal off can be a great use of that downtime.
When Scream comes up again, use it immediately. If he's low on health, get off a Blast+Death combo to make sure he doesn't have time to heal up.
If you're ever at near-equal health while he's distracted (probably feared), use to opportunity to get Flash/PoM/Renew on yourself. Switching back into shadowform depends highly on his health level.
That's what I do, at least. Good rogues are one of the tougher fights for me, though. I usually rely on my rogue partner to do most of the damage if I'm fighting a rogue, while I keep them distracted >.>