Edit MattK: The reason they do not work is that material parameter collections are updated inside of a uworld that slate doesnt have access to. We just need to figure out a way to update the necessary parameter collections elsewhere.
Create a MaterialParameterCollection. Have it driven by the level blueprint. Wire as an input to a material driving a Slate UI object's Material. In 4.14, this would not work. Now it should. It also should work for RetainerBoxes.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-19022 in the post.