The R9 380 is the more powerful card, has greater memory bandwidth, and is likely cheaper but there are a couple of scenarios where the GTX 960 might be the better choice.
1) Linux - Nvidia propriety drivers perform better (in my experience) and support for the r9 380 is only in the latest kernels. 2) CPU - If you have a budget CPU the Nvidia cards tend to perform better. My X4 860k system performed better with a GTX 960 than an R9 280X. On my i7 system the opposite was usually true. 3) OpenGL - if your choice of games are OpenGL centric then Nvidia OpenGL support tends to perform better and be less buggy. 4) You use creativity software that support CUDA. 5) You have a small case - the GTX 960 runs cool compared to most gaming cards.
Other than there looks to usually be a handful of FPS difference between them in the R9 285/380's favour.
R9-380 without question. In most games it beats the 960.
Mind you the R9-285 which is a last gen-card. is exactly the same as the R9-380. it's just factory overclocked and shipped with all the latest features the 4GiB model is definitely something i'd get.
I would go with the R9 380 simply because AMD's crossfire is currently superior to SLI, if only because of the lack of need for an SLI bridge. With the 4gb card, you may want to consider it.