Last year, I started developing my own version of _MatchSrf and have recently gone back to it as well as creating another script that utilizes it.
The “MatchSrf” script is missing most options found in the UI command but has a couple new ones. It also uses the control point structure of the input somewhat differently.
The “EdgeSrf” script produce a 4-sided surface but can also take 2 or 3 curves as input as long as a 4-sided surface can result with no trimming.
For both scripts, inputting isocurve edges of faces will produce the best results for G1 or G2 matching.