1. Можно в самом класс, который вы через сториборд создаёте, сделать static var storyboardInstance, который и будет создавать контроллер. Тогда не придётся это делать по несколько раз. Ваша функция будет будет не нужна, будет просто navigationControlle?.pushViewController(YourViewController.storyboardInstance)