Having a dedicated class for the sole purpose of building another is called the builder pattern, and it is meant to alleviate problems involving complex instance creation, such as having a constructor take too many parameters or when the construction of an instance requires multiple steps.
If you do not use the builder pattern, that is not necessarily worse per se. Forcing a pattern to work when one is required is worse than not using a pattern when one would be useful in my humble opinion. However, it would seem that the builder pattern would make a good fit in your case, if the contrary means having several constructors accepting many parameters. Leave the constructors, and simply use a builder to call those constructors, so you don't have to deal with that logic throughout your program.
You should note however that this only works when many of the parameters being passed to the constructor have default parameters if left unspecified. An alternative solution could simply be to move these parameters out of the constructor and leave them as setters/getters in the class itself. In other words, you instantiate the instance passing only the minimum required information to the constructor and letting the getters/setters be the primary means for specifying additional information as required. Though again, this would be a good solution only if you have many optional parameters, most of which aren't normally specified.
In summary, if you're unsure which to use, try both and see which is preferable until you learn to get a feel for which is better in the future. Don't try to force a pattern when none is necessary.
MultiLayerConfiguration
the example you mean?