Swift 4.2:
NSFontPanel.shared.setPanelFont(myNSFont, isMultiple: false)
NSFontManager.shared.setSelectedAttributes([NSAttributedString.Key.foregroundColor.rawValue: myNSColor], isMultiple: false)
You can find a list of all attribute keys here - the old style constants have not been deprecated, but as of 10.13, no longer work.
To be notified of changes if you want to change, say, the contents of a label that doesn't have a field editor attached, you need to set NSFontManager.shared's target and action, and register for NSColorPanel.colorDidChangeNotification (NSColorChanging does not fire when the ColorPanel is opened from the FontPanel).