There is a data transform used to set 4 properties and i created an activity with single property-set step that's also setting the same 4 properties. I would like to know which one (data transform / activity) is more efficient in terms of performance and why ??
If you are just trying to use Property-Set functionality to initialize the property values in activity or data transform, i don't think there will be any performance difference as both does the same task of initialization of property values internally. The activities are not recommended because it allows you to do further complex tasks such as writing the java code, calling external services and many more which might cause the performance issues to your business use case and are also complex to debug the issues.
So the activities are not recommended over the data transforms, by the way your requirement is to initialize the property values for which you don't need activities as it can be achieved with your data transform.
Pega recommends to use activities only when your business requirement can't be achieved with any other existing rule OOTB.
Additionally that is the reason Pega throws a guardrail warning when you create an activity, hence the data transform is the right choice for your scenario as you don't need to create additional guardrail into the system unnecessarily.