Hi Justin,
I am not sure what you mean by custom sort so my answer may be bit longer.
If you need to order attribute in other sequence than alphabetically (e.g. Project Status attribute with values New, In progress, Done in chronological order rather than alphabetical), you can use “sort label” in logical data model (e.g. additional label of Status attribute with integer data type containing ordinal number of the status which is defined as “sort label”). See following article from help for details:
https://help.gooddata.com/doc/growth/en/data-integration/data-modeling-in-gooddata/update-a-logical-data-model#UpdateaLogicalDat[…]attributebyalabel
Sorting criteria for table are flexible (you can chose any column for sorting in Analytical Designer), but some charts come with predefined sorting, either by attribute value or metric value (e.g. bar chart is ordered by metric value while column chart by attribute value). You can expect improvement in this area in future as chart sorting is on GD roadmap.
Many visual components of GoodData.UI have sortBy property and specification of sorting criteria is supported by GoodData execution APIs. See following article for some details about sorting:
https://sdk.gooddata.com/gooddata-ui/docs/result_specification.html#sorting
I hope it helps