Old question, but maybe this is useful?:
TArray<FNiagaraVariable> UserParams;
NiagaraSystem->GetExposedParameters().GetUserParameters(UserParams);
for (auto& UserParam : UserParams)
{
UE_LOG(LogTemp, Log, TEXT("%s: %s, type: %s"), *NiagaraSystem->GetName(), *UserParam.GetName().ToString(), *UserParam.GetType().GetName())
}