Standard practice at my company: interviewees pair with a developer for a week before being offered a job. Preferably, over the week, you'd switch pairs at least once or twice. If we don't hire you, we pay you as a contractor for your time. If we do hire you, we pay you either as an employee or contractor for your time (depending on what our accountant says). We'll bend the rules depending on circumstances, but basic…
And what percentage of people do you "drop"? I imagine once you spend a week with someone you might get attached to them enough that it would be hard to let them go for something subjective unless they were a pretty big asshole.