I use a method similar to franks:
- In Preferences > Navigation (or Preferences > General in versions of Xcode prior to 5) you can set Optional Navigation to Uses Separate Tab
- Now opt-clicking a file in the file navigator will open it in a new tab
- Better yet, opt-clicking links in the code opens the destination file in a new tab
The big feature missing is swapping to an already open tab containing the file if there is one (or staying in the current one).