I use AWS IoT directly with MQTT-TLS and have not had any meaningful stability issues. How are you using it? Are you sending lots of messages, large messages, or using a QoS > 0? What is your timeout value set to?
Instability makes me think there are other problems with your application code that have sufficient blocking behavior to impact your ability to respond properly to the occasional message, causing a reconnection.
Also, are you certain that your network isn’t reconnecting in general? What are your particle cloud reconnection amounts like?
Also, you can definitely reduce flash and RAM usage of the library a bit with proper configuration. See my posts on this thread. It’s still pushing the device’s limits on the photon, but I have it working pretty well with a couple other threads and lots of other things going on too.
Also, if you are already using MQTT-TLS on the photon, why not send directly to AWS?