You can follow my link for a few thoughts about VIPER below, but I think one other major consideration is also what SDK you're targeting.
VIPER is really designed to cope with the disadvantages of UIKit and is very reliant on maintining references to objects.
But it is, to my mind, totally unsuitable for SwftUI. Maintaining all of those classes per view actively works against SwiftUI's paradigm of view composition and actively working to break views down into smaller and smaller subviews.
https://betterprogramming.pub/viper-for-swiftui-please-no-ee61ce99694c