"Куча" is vulgar and colloquial, "уйма" is acceptable in a wider range of cases. A pupil can say to the teacher - "Ну вы дали просто такую уйму задач, что мы вряд ли успеем за полтора часа". The same phrase with "такую кучу задач" is totally acceptable but by some teacher can be treated as too brusque and even rude.
A politician on an official meeting with some foreign delegation easily can say "есть уйма областей в которых наши страны могли бы бы продолжать укреплять сотрудничество", the same with "куча" would be simply unacceptable by diplomatic standards.
Ironically, the word уймища
is also highly colloquial so it's interchangeable with куча
rather than with уйма
. Other synonyms one can find here.
Also it worth to keep in mind that, unlike "уйма" which is an abstract concept from the very beginning, "куча" initially stood for a physical object - and it still means (apart from "many") a pile. That said - whenever this connotation of something material is important, "куча" is de-facto used more often. One will more likely can exclaim - "да тут просто куча грязных носков!" - even if it's not literally a pile - it's sort of a pile, you know :)
"Кучка" is indeed lacks the emphatic aspect and is very close to "fistful" (пригоршня
, горсть
)