I know this is very late to answer your question but I had same problem and solved it so for anyone who read this, this is your answer:
mEffect->SetTemplate(anyParticleSystemYouWant); // with anyParticleSystemYouWant is UParticleSystem* (so UParticleSystem or any inherited from)
this little line will initialize the component for what it shroud do (or be) (it is similar to USkeletalMeshComponent->SetSkeletalMesh(USkeletalMesh*) )
I don’t like to use blueprints so I don’t really know how the binding work in C++ (I just tried one time with ACharacter) but I think you can expect to do something like that:
mEffect = PCIP.CreateDefaultSubobject<UParticleSystemComponent>(this, TEXT("ProjectileEffect"));
mEffect->SetTemplate(lProjectileEffect); // that is the line you waited for but it is "pseudo-code" I don't really know if it work with ConstructorHelpers::FObjectFinder<UParticleSystem> but it work with UParticleSystem*
mEffect->AttachTo(RootComponent);