Been using Streamlit at work for over a year. It's great for quickly building internal apps where latency or styling is not a concern (though it is a lot prettier than notebooks).
We just released themeing in the past few weeks, so there's definitely more options than there used to be! We'd love to get any additional feedback about the types of customizations you'd like to see.
Streamlit doesn't expose async / callback stuff in the API, instead the script is rerun from the start every time the user clicks a checkbox, manipulates a slider etc. This makes it really easy to make apps, but depending on the computations occurring on each render it can get pretty sluggish. There is support to cache to speed things up, e.g. data downloads.