An oxygen based cleaner (I use PBW) is generally better than dish soap. It's easier to clean it all out, dish soap has a tendency to stick around after rinsing.
I deep clean my kegs in the shower. After dumping the contents and maybe rinsing off anything big that's hanging out inside I'll fill...