From what I understand, an ASP is a process running on an AS, and a SGP is a process running on a SG.
Not quite. See RFC 4666 "1.2 Terminology" for a definition of ASP, AS, SGP and SG.
Given that, are there any extra differences between a ASP and SGP (in addition to the routing-capabilities of a SGP)?
RFC 4666 describes for 124 pages the differences between ASP and SGP.
BTW, it is not an SGP per se that has routing capabilities, but an SG, where the SG is made up of some SGP, an SS7 stack and a inter-working function.
See also RFC 2719 "Framework Architecture for Signaling Transport" for a better overview of what's going on.