Yes, you can easily use SkeletalMeshComponent in the hands of your Character. When you switch Weapons, simply exchange the mesh of the weapon. You should separate the physical representation of the weapon and the logic of it.
The best way is to use either an interface or an abstract class for the functionality for weapons. This way every weapon can be used the same way, but may have different behaviour.
€dit:
In my Project, weapons are UObjects, not AActors.
I have a separate Actor for Pickups and the UObject Weapon implements an interface, that returns the Mesh.