Surfacing... just a nightmare

You can start from curves, or use 3x3 surfaces and increase the cp count. Before blending main surfaces, create a good and watertight “theory”. That means main surfaces should positional match (works in most cases), blending -> use G2 (curvature matching) for most blendings, sometime G1 is better sometimes even G3. Find a good surface/patch layout. This is iterative. So it often requires to do the same steps over and over. But only like this, you’ll be able to improve the visual quality. The more you do this, the better are your first guesses.