You will find that you can reduce damage caused by the dish soap by spraying plants when it is cloudy, in the early morning or in the evening and rinsing the soap spray off after about 30 minutes. The soap kills the insect on contact, it does not act as a preventative. This means the insect is killed when the soap and water mix covers it's body; it is not killed by eating a leaf with soapy residue on it. It is also a good idea to try out the soap spray on a couple of leaves 24 - 48 hours before spraying the whole plant. Some plants are damaged easily by soap spray - begonia, impatiens, Japanese maple and azalea are all sensitive and there are many more as well.
I've tried out the neem oil too and found it to be very effective although I don't have much experience with it.
Hope this helps. emm