My biggest issue with Swift is that there often seem to be too many ways to do things. I'm fine with having options, but when there are literally 4 or 5 different ways to accomplish the same things it's going to require development shops to come up with rigid standards about how to do things. Many shops aren't going to know that this will be an issue until later, when trying to integrate the work of different developers / teams on a large project.
The upside of this level of flexibility is that it allows you to quickly port code from nearly any language into Swift since it supports the features of almost every modern language. The downside, of course, comes when starting a new project: you have a lot of decisions to make about how functions will be called, objects instantiated and referenced, etc. If you don't make those decisions up-front, peoples' preferences will take over and you'll get a lot of spaghetti code. I'm not looking forward to starting a project in Swift, that's for sure.
From a technical perspective, I have no complaints: Swift is flexible and powerful without being weighed down by the kludges that Objective-C forced you into. But I definitely see small dev shops having a big advantage with Swift in the beginning: it'll simply take the big guys too long to get their act together.