SLN files are also horrible, I agree. Fortunately you don't have to frequently edit SLN files, unlike CSPROJ files (which are currently edited anytime you add/remove a file from the project). Both should be changed, but CSPROJ is what kept me from developing in vim during my day job back when I was making the shift. Me circa 2007 really wishes I had a JSON format without individual file entires...
(Also CSProj files aren't super fun to merge using git and change very frequently. See: http://stackoverflow.com/questions/13479294/why-are-my-cspro...)