The fastest way I know of to port scan (and would be surprised if there is anything faster) is massscan with an Intel 10-gbps Ethernet adapter and the PF_RING driver. To quote the github page "This is the fastest Internet port scanner. It can scan the entire Internet in under 6 minutes, transmitting 10 million packets per second.". This is dangerously fast - take down your local network if you aren't careful fast.
For version information you would need to use the banners option. See usage here. I don't think this is quite as advanced as nmaps version detection - you may have more cleanup work on the returned data.
If you'd rather stick to nmap there are several ways to speed it up. -Pn would avoid sending a ping. -n avoids DNS resolution. --send-eth sends directly on the ethernet interface - although you need to fully understand the consequences of this and how to set up your machine appropriately first.
For grabbing version information, does the -sV option give the same performance with -sS or should I first scan the target with -sS after then I scan open ports with -sV?
Technically there is no reason why they couldn't be as efficient (and possibly more efficient to run them together). Without profiling or reviewing the source code of nmap I can't answer this conclusively. Google isn't immediately showing anything obvious.