You can explicitly broadcast over the non-zero values, x.nzval.
using LinearAlgebra, SparseArrays
using Random
Random.seed!(1)
N = 4
x = sparse(Diagonal(rand(ComplexF64,N)))
println("Original")
println(x,"\n")
@. x.nzval = cos(x.nzval)
println("Broadcast cos")
println(x)
which prints out
Original
[1, 1] = 0.236033+0.346517im
[2, 2] = 0.312707+0.00790928im
[3, 3] = 0.488613+0.210968im
[4, 4] = 0.951916+0.999905im
Broadcast cos
[1, 1] = 1.03123-0.0826637im
[2, 2] = 0.951534-0.0024332im
[3, 3] = 0.902708-0.099765im
[4, 4] = 0.895112-0.957115im