You can prove the sheafification must exist for more general reasons, if you like. By Theorem 2.48 of Adamek-Rosicky, Locally Presentable and Accessible Categories, any full subcategory of a "locally presentable category," for instance, the category of presheaves on a space $X$, closed under limits and sufficiently filtered colimits is reflective. You can prove very straightforwardly that a limit of sheaves is a sheaf, and as for $\lambda$-filtered colimits, you can take $\lambda$ bigger than the powerset of the topology on $X$, so that $\lambda$-filtered colimits commute with the products and equalizers appearing in the sheaf condition, which implies that a $\lambda$-filtered colimits of sheaves is a sheaf.
There's also an explicit construction very similar to that you might be running into around Grothendieck toposes: the category of sheaves on $X$ is the category of limit-preserving functors from the opposite of the category $\mathcal C$ of open subsets of $X$ to the category of sets. Since we can check whether a presheaf is a sheaf by looking at a small set of limit cones, the construction of 1.36 and the argument of Example 1.33 (8) in the same book give a reflection of preserves into sheaves.
So, using either proof, the existence of sheafification is really a consequence of local presentability of the category of presheaves, and doesn't depend on anything more specific about sheaf/topos theory.