Is "Read only routing" the only way to force the connection with ApplicationIntent=ReadOnly to connect secondary replica?
Is there any other way to let one application such as SAS to connect to the listener and the SQL AG will point it to the secondary?


Unfortunately no, not within SQL Server.

You must specify ApplicationIntent=ReadOnly in the connection string in order for the connection to be eligible for read-only routing, as is documented:


  Requirements and Recommendations for Client Connection-Strings
  
  For a client application to use read-only routing, its connection string must satisfy the following requirements:
  
  
  ...
  Set the application intent attribute/property to readonly.
  ...