mixin = 2-5 is OK. The effectiveness depends the number of total transactions in one block. The more transactions, the better.
afaik it doesn't depend on the number of txs in one block, it depends on having inputs existing any time previous in the blockchain. Also, you might want to make an option for mixin 0 and 1, so that people can send non-anonymous transactions. Maybe just make a warning text popup when mixin is low or something...
1 is useless and harmful. 0 might be useful under certain circumstances (and is necessary when there aren't enough outputs of the same size to mix at all).
The useful mixing counts are 0 and 2+.