3-4 rounds.
1) Telephonic - reason of change, your current work related questions, responsibilities, challenges, failures, etc.
2) Face to face at TW -- coding round. -- XP programming, refactoring code, TDD development.
3) Design and pair programming -- a real time problem, like design a xx. more on how you design, code sanity, entity and relations, etc
4) In-Depth technical round -- more to understand what all you have done, any specific challenges, given an existing market use-case, how would you implement it.
5) Some socio-behavioral/psychology related round -- openness to work with all genders, gender equality, comfortable with LGBT, etc, you personal opinions on few topics, contribution to society, etc
6) Leadership - more general talk, what you like, how you drive things, etc
Finally compensation and negotiation
So, thing is they take your feedback about the interview after each round, and as well give you comments from the panel, which is sorta good.
Atleast for me, i found one of the recruiter to be very pleasant. She was very cordial and made sure that the candidate is very comfortable in their office and clarifies the concerns if any.
Other recruiter, was more dominating, was more focused on closing the deal for the company on best negotiation, so would try to sell you the idea of working in Thoughtworks brilliantly, and on the other side, try to offer you under market wages justifying its the best what you would get in the market. It sort of confuses the candidate, because either the company hasn't realized your potential and what you brings to the floor, or they are hesitant to offer you things according to your capabilities. I found that to be quite fishy.
Major negative - Aggressive negotiation and undermining candidate's capabilities. Not able to provide clarity on job role and work. (That's somehow maintained secret till the end)
Anyhow, overall a good experience.