You can use SSL with S3 as the backend, you just have to set the distribution origin to s3.amazonaws.com/bucket-name/
CloudFront has its own IAM user that is permitted to access the contents of the bucket, which means that it has to use the API. I don't think it's even possible to access the S3 API without using HTTPS. Therefore I think it is highly unlikely that the connection is unencrypted.