Relative to plug-in control:
a) MIDI learn is the way to go if (and only if):
a.1) plug-in support MIDI learn. When plug-in support fixed MIDI, you will be forced to configure AKAI for each such plug-in.
a.2) you do not control sonar by the same controls (till switching AKAI preset)
a.3) till plug-in supports endless encoders directly (rarely), you agree to use your knobs in "normal" mode
a.4) you want record controls changes into MIDI clips
b) GCS and AMC is the way to go:
b.1) for transport
b.2) for Sonar parameters (volume, pan, etc.) in case you do not want MIDI learn them for every single trick in every project separately (to change mapping, let say for next 8 tracks, you are forced to relearn everything in MIDI mode)
b.3) for plug-in parameters which have no MIDI input associated or have it fixed to something you do not like
GCS vs AMC:
GCS support arbitrary number of strip controls, has separate transport controls, but is has limited "ACT Mapping" (plug-in parameters) and it can not control buses.
AMC has fixed number of controls but all of them have several banks, so effective number of controlled parameters is 4x.
AZC has no limitations and supports functionality not available in GCS and AMC, but it is harder to configure initially.
Note that you can use some combination, for example GCS for transport and track volume and MIDI for plug-ins. In case you want GCS and AMC at the same time on the same port ("B"), it is good idea to add AZC to the end of the list (in Sonar preferences), with empty configuration but with "block all messages" option set. That will avoid unexpected MIDI leaking to tracks.