Best approach to create a customized page

The only reason custom templates would not be searchable is if they stored significant amounts of content in postmeta fields, instead of the main content field.

To have customizable layouts whose contents are still fully indexable by default WP search, use the Block Editor. You can create custom blocks if needed, but even the Core blocks and perhaps a plugin or two with additional ones if needed will get you a lot of control over layout and presentation. As long as all the blocks store their data directly to post content (which is the norm – it’s infrequent to find blocks that store to postmeta) all that content will be searchable.

And yes, custom patterns will also be stored in content, so will also be searchable and are a great way to store reusable content.