As noted, only secure views or secure materialized views can be shared. You may notice that all objects must be secure, except for tables. This is obviously for security reasons...it is called SECURE data sharing, after all. Is there a concern about creating a secure view instead of a standard view for the purposes of data sharing?
As far as replication, you can replicate objects contained within a database to another account. The downside of this over data sharing is that you are actually replicating data (storage costs), using compute to replicate (compute costs), and possibly data egress if you are replicating to a different region or platform. In addition, data sharing allows for immediate data changes to be seen through the share, while data replication will have some latency based on how often replication is set for.
If you are in the same region/deployment as the account you wish to share data, I'd highly recommend either sharing tables or creating secure views to share with the other account.