Should I drop MS_DataCollectorInternalUser in msdb? From SQL Server 2008, there is a user in msdb called MS_DataCollectorInternalUser. This user has no login associated with this and can be considered as a orphan user.

It's a security best practice to drop orphan users.

The MS_DataCollectorInternalUser cannot just be dropped using DROP USER TSQL command because it has granted a database permission IMPERSONATEto a user called dc_admin.

We don't use the Data Collector feature of SQL Server.

What do you suggest ?
MS_DataCollectorInternalUser is not an orphaned user. Is a user without a login, a different kind of beast. I suggest you update your security practices, you may have already dropped other valid non-orphaned users. Unless you have a specific security bulletin quoting a reason to drop or modify this user you should leave it in place.