I suggest to use generic parametrized method.
class DefaultNetworkPerformer {
    private var provider: RxMoyaProvider<GitHubApi> = RxMoyaProvider<GitHubApi>()
    func performRequest<T:Mappable>(_ request: GitHubApi) -> Observable<T> {
        return provider.request(request).mapObject(T.self)
    }
}
DefaultNetworkPerformer will handle all requests from you Moya TargetType. In my case it was GitHubApi. Example usage of this implementation is:
var networkPerformer = DefaultNetworkPerformer()
let observable: Observable<User> = networkPerformer.performRequest(GitHubApi.user(username: "testUser"))
here you 'inform' network performer that response will contain User object.
observable.subscribe {
    event in
    switch event {
    case .next(let user):
        //if mapping will succeed here you'll get an Mapped Object. In my case it was User that conforms to Mappable protocol
        break
    case .error(let error):
        //here you'll get MoyaError if something went wrong
        break
    case .completed:
        break
    }
}