You're correct, you can bind keyboard shortcuts to most actions in Xcode. The problem is that the UI seems to have been built with the mouse in mind, with keyboard navigation as an afterthought. Is it really all that useful that I can pull up a dropdown menu with a shortcut if I still have to arrow up/down to pick my file? AppCode allows me to pull up a list of recent files with a shortcut and has the last file edited as the top option. This allows me to quickly switch between two files. In Xcode I can pull up the recent files menu, but it's not ordered in terms of recent usage, so I'm constantly having to find my place in it.
And there are some functions I couldn't find a way to bind. Can I bind a key to 'jump to definition'? Or how about 'find usages' or 'rename variable'? I tried to make Xcode work for me, but I just felt like I was having to fight against how Apple wanted me to use it.
It could be that coming from the Java world and using IDEA I was just more used to the default shortcuts. But I really think that IntelliJ puts a lot of thought into keyboard navigation and builds the UI to be more conducive to keyboard navigation.