The S3Repository makes use of the default settings of the AWS Java SDK. Many of these settings are able to be overwritten in the AWS configuration file. However, if a user has multiple S3Repositories defined, then they might want to set different settings for each repository.
With the EnvVar, system property approach, you can only set 1 value for each setting, so all uses of S3Repository will use the same values for a Solr cloud. One way of getting around this, and not requiring all settings to be overridable via the solr.xml, is to allow users to set the AWS profile for each S3Repository. This will allow them to set independent settings per-profile in the AWS configuration file, then specify which S3Repositories should use which profile.